.NET下的报表生成(一)

1、简介
报表生成在企业应用开发中是一个重要的部分。选择合适的报表生成策略决定应用程序从成本和性能两方面考虑是否成功。本文讨论了在架构报表系统是应该考虑的一些关键因素。
选择合适的报表工具在决定系统成本和可量测性上也扮演着一个很重要的角色。我们将讨论一些在现存的报表系统中广泛使用的报表工具。在这些工具中选择最好的是一个至关紧要的决定。SQL报表服务是一个最近炒得比较热的报表工具;本文将简单的介绍这个工具。
从成本和性能的角度来比较报表工具是一个非常困难的工作,而且这些方法也随着架构的不同而又很大的差别。比较这些工具中存在的.NET功能却是一个非常有趣的事情。本文试图对市场中存在的普通工具进行对比。
Excel报表是很多财务程序中的重要部分。很多零售的程序都需要像Excel报表一样拥有大量的数据和很好的样式。我们想到的最直接的简单方法就是使用Excel组件。但是微软不推荐采用这种方法。在Excel报表部分中将介绍一个最好的选择。
由报表分发的数据安全也是一个关键的问题。本文讨论了在大型企业系统中普遍应用的一些策略来保护由报表分发的数据。
这是以个c#做的报表例子,      //打开连接      conReport.Open();      //准备连接对象以把获取的数据放入数据集      cmdReport.CommandType = CommandType.Text;      cmdReport.Connection = conReport;      cmdReport.CommandText = "Select TOP 5 * FROM Products Order By ProductName";      //从命令对象中读取数据      drReport = cmdReport.ExecuteReader();      //有了ADO.NET,可把读取来的数据直接加载到数据集中      dsReport.Tables[0].Load(drReport);      //关闭读取及连接      drReport.Close();      conReport.Close();      //为查看器提供本地报表数据 this.reportViewer1.LocalReport.ReportEmbeddedResource =      "报表问题.rptProductList.rdlc";      //准备报表数据源      ReportDataSource rds = new ReportDataSource();      rds.Name = "dsProduct_dtProductList";      rds.Value = dsReport.Tables[0]; this.reportViewer1.LocalReport.DataSources.Add(rds);      //加载报表查看器 this.reportViewer1.RefreshReport();    }    catch (Exception ex)    {      //显示错误信息      MessageBox.Show(ex.Message);    }    finally    {      //检查连接是否仍然打开,如果是,关闭它。      if (conReport.State == ConnectionState.Open)      {        conReport.Close();      }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值