随着时代的进步科技的发展Visual Studio 版本也快速的提升与升级,下面我就对升级前和升级后的VS2003 报表,做一下自己的解析。希望能够对大家有帮助

由于VS2003 报表种类太多了,所以此处无法上传,所以大家有communitysever的可以从里面获得然后反编译为自己所用,没有的就到网络上搜下吧,有许多资源呢!论坛上也有的。

对于VS2003 报表的表格,特别是国内的一些应用,都是一个个的格子组成的,这样要是用线来一根根画就比较麻烦,但是这类工具还都不提供表格化的报表布局定义方式。苦闷啊!#t#

一个很好的选择是VS2005的客户端报表(RDLC),但是在某几个方面还是不够灵活,例如,灵活性有限制,要想自己编码实现一些复杂逻辑还是有困难;要VS2005,对于一些还在使用VS2003的项目就只有眼馋的份了。用Excel来实现,优点在于页面布局设计灵活,同时使用代码来操作数据要更灵活,更精确。

下面是一个简单的例子,打开一个定义好的Excel文件,这个文件是作为报表的模板,然后向模板的指定格子里填充数据,形成一个报表,在web方式下可以按照指定的命名方式在服务器上生成一个excel文件,之后传送到客户端,由客户端启动excel进行打印。

  1. finally
  2. {
  3. m_objBook.Close(m_objOpt,m_objOpt,m_objOpt);
  4. m_objExcel.Workbooks.Close();
  5. m_objExcel.Quit();
  6. System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBook);
  7. System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objExcel);
  8. m_objBook=null;
  9. m_objExcel=null;
  10. GC.Collect();
  11. }

可以看到,使用Excel要进行一部分的编码,好在这部分还不太复杂,但是***的问题就在于当报表需求变更时,要重新编译部署,而且当格子特别多的时候,要这样硬编码还是挺痛苦的一件事。不过使用Excel毕竟给我们提供了一种选择,可以在开发时对多种方案权衡利弊,使用最适合项目的。下面的代码使用一个现有的统计图Excel文件,加载这个文件,设置某一项的值和统计图的表示方式,然后保存到另一个Excel文件里。如果是VS2003Office2003,也可以选择VS2003 报表。

作者针对VS2003报表的一些注意事项进行简述  VS2003 报表 第1张

在用Excel作报表的时候,可能会碰到分页的情况,这样就要分成多个Sheet显示,如果要在每页都保留表头,就需要将***页作为模板设计的表头部分拷贝到其他的Sheet上,这时就要用用到Excel中的单元格拷贝。
下面的代码说明如何一个Sheet上的选定内容拷贝到另一个Sheet
  1. ThisApplication.DisplayAlerts=false;
  2. xlSheet=(Excel.Worksheet)ThisWorkbook.Worksheets.get_Item(1);
  • //Excel.Rangerange=xlSheet.get_Range("G4",Type.Missing);
  • Excel.Rangerange=(Excel.Range)xlSheet.Rows.get_Item(18,Type.Missing);
  • Excel.Rangerange1=(Excel.Range)xlSheet.Rows.get_Item(19,Type.Missing);
  • range.Value="123";
  • range.Copy(range1);
  • range1.Rows.Insert(XlInsertShiftDirection.xlShiftDown);
  • 转载请说明出处
    知优网 » 作者针对VS2003报表的一些注意事项进行简述

    发表评论

    您需要后才能发表评论