导出带有复合表头的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读取和写入的连接字符串不同.
作者:NewSea 出处:http://newsea.cnblogs.com/
QQ,MSN:iamnewsea@hotmail.com 如无特别标记说明,均为NewSea原创,版权私有,翻载必纠。欢迎交流,转载,但要在页面明显位置给出原文连接。谢谢。 |