导出带有复合表头的Excel方案.

原则

1.不要求服务器安装Excel . 使布署简单.

2.制作复杂表头,也不操作COM

所以方案如下:

1. 使用 OleDb 的方式生成标准SQL , 以Excel 做为数据源.很容易插入二维数据.

  Insert Into Db ( A , B ,C ) values ( '1', 'Hello', 'world') ;

2. 提前做好Excel 表. 有两个Sheet . 第一个Sheet 以实际业务的中文名命名(如 报表). 第二个Sheet 固定名称: Db

报表的Sheet 制作复杂表头. 然后,用公式 =IF(Db!A1="","",Db!A1) 制作数据源.

但是有一个问题是不清楚多少行. 暂时拉1000行好了.

3.Excel 有诸多限制: 不能Delete多条. 不能Truncate Table .

4.Wps 的电子表格有一个Bug . 当用 OleDb 执行完之后, 计算单元格不更新. 狂晕.

5.OleDb读取和写入的连接字符串不同. 

posted @ 2011-06-12 14:08  NewSea  阅读(2558)  评论(0编辑  收藏  举报