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

开发 后端
随着时代的进步科技的发展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 报表

VS2005+Office2003

 

 
在用Excel作报表的时候,可能会碰到分页的情况,这样就要分成多个Sheet显示,如果要在每页都保留表头,就需要将***页作为模板设计的表头部分拷贝到其他的Sheet上,这时就要用用到Excel中的单元格拷贝。
下面的代码说明如何一个Sheet上的选定内容拷贝到另一个Sheet
  1. ThisApplication.DisplayAlerts = false;  
  2. xlSheet = (Excel.Worksheet)ThisWorkbook.Worksheets.get_Item(1);  
  3. //Excel.Range range = xlSheet.get_Range("G4",Type.Missing);  
  4. Excel.Range range = (Excel.Range)xlSheet.Rows.get_Item(18, Type.Missing);  
  5. Excel.Range range1 = (Excel.Range)xlSheet.Rows.get_Item(19, Type.Missing);  
  6. range.Value = "123";  
  7. range.Copy(range1);  
  8. range1.Rows.Insert(XlInsertShiftDirection.xlShiftDown);  
 
 
责任编辑:chenqingxiang 来源: murray
相关推荐

2009-11-27 14:09:44

VS2003模板

2009-11-30 13:51:28

VS2003 Runt

2009-11-26 10:35:16

VS2003制作安装

2009-11-30 13:51:28

VS2003 Acti

2009-11-26 13:40:53

2009-12-01 10:18:12

VS2003makef

2009-12-01 09:06:36

VS2003 ajax

2009-11-30 09:39:46

VS2003版本

2009-12-01 16:16:13

安装VS2003

2009-11-26 16:46:08

VS2003编译

2009-11-30 13:51:28

2009-11-26 13:27:10

VS2003水晶报表

2009-11-30 10:34:28

VS2003编译

2009-11-27 09:34:38

VS2003命令

2013-06-07 08:48:37

Android开发注意事项

2009-12-03 20:21:21

PHP文件上传

2011-07-26 09:29:15

Oracle RACASM

2009-12-09 16:52:51

VS 2003插件

2009-12-10 09:50:49

VS.NET 2003

2009-11-26 14:10:08

点赞
收藏

51CTO技术栈公众号