初始密码 英文:Excel导出方法总结

来源:百度文库 编辑:中财网 时间:2024/05/12 16:44:23
Excel导出方法总结 有时候会时不时碰到这个问题
虽然已经交过作业了,但每次温习居然都有新的感受和发现。
于是,再写一篇总结(也不知道是不是以后还会再写总结?),与大家分享一些所得。

我这里简单复习一下有哪几种可以导出Excel的方法:
1。把excel作为数据库,导入数据
这里分成两种:
一种是把excel作为connection,通过insert数据加入;
另一种,则是利用COM对象,调用Excel的QueryTables的方法。

2。直接引用COM组件,直接通过接口调用,并生成相应的Excel文件
这种方法对于性能要求要高一些。
对B/S结构的程序,基本不考虑这种方法。
对于无法关闭Excel进程的问题,今天看到一篇《立即释放.net下的com组件》
http://jjstar.cnblogs.com/archive/2004/11/08/61316.html
我要试试看


3。利用生成HTML代码,保存为Excel文件
这个方法经常在B/S使用。


前三种方法的使用可以参考
Powerlc的BLog 的《asp.net里导出excel表方法汇总 》
http://powerlc.cnblogs.com/archive/2005/01/06/87512.aspx

浪漫十一狼的Net日志 的《导出excel的另外一种方法》
http://elevenwolf.cnblogs.com/archive/2004/08/21/35324.aspx




4。不引用Excel接口,直接生成Excel文件的。
这里灵感之源写了一篇Blog
特别推荐:纯VB.NET代码直接生成Excel文件(不需要Excel)
http://www.cnblogs.com/unruledboy/archive/2004/07/07/22093.aspx
这里是C#版本
与灵感之源的vb.net对应的SmartExcel的C#版本

这个东西,我引用作者的一句话
引用不过说实话,没有一个WYSWYG的ide(如excel的designer),这段代码没什么作用。写一个excel文件,太复杂了。。。

5。用MIME格式描述多内容Excel工作表
有点象生成HTML,但不完全是。
这是由鸟食轩写的《用MIME格式描述多内容Excel工作表》
http://www.cnblogs.com/birdshome/archive/2005/07/12/190988.html
(鸟食轩是javascript应用的高手,他在自己Blog上面的百度搜索帖子功能,让我对javascript有了更多的理解)

这里已经说到有5种方法,难道还有?

是啊,是啊

我再说两种,嘿嘿,

6。Excel是可以存成xml
看看这个文件

在看看保存出来的Excel文件:
  1
  2
  3  4 xmlns:o="urn:schemas-microsoft-com:office:office"
  5 xmlns:x="urn:schemas-microsoft-com:office:excel"
  6 xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
  7 xmlns:html="http://www.w3.org/TR/REC-html40">
  8 
  9  1996-12-17T01:32:42Z
 10  2006-02-17T13:16:06Z
 11  11.5606
 12 
 13 
 14  
 15 
 16 
 17  4530
 18  8505
 19  480
 20  120
 21  
 22  False
 23  False
 24 
 25 
 26  
 27   
 28   
 29   
 30   
 31   
 32   
 33  
 34  
 35   
 36   
 37  
 38  
 39   
 40    
 41    
 42    
 43    
 44   

 45   
 46   
 47  
 48  
 49   
 50   
 51    
 52    
 53    
 54    
 55   

 56   
 57  
 58 

 59 
 60   61   x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
 62   
 63   
 64   
 65    test excel Xml
 66   
 67   
 68    testCol1
 69    testCol2
 70   
 71   
 72    3432
 73    42343223
 74   
 75   
 76    3432
 77    42343223
 78   
 79   
 80    3432
 81    42343223
 82   
 83   
 84    3432
 85    42343223
 86   
 87   
 88    3432
 89    42343223
 90   
 91   
 92    3432
 93    42343223
 94   
 95  
 96  
 97  
 98   
 99    
100    9
101    300
102    300
103   

104   89
105   
106   
107    
108     3
109     R1C1:R22C2
110    

111   

112   False
113   False
114  
115 
116 
117  118   x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
119  
120   False
121   False
122  
123 
124 
125  126   x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
127  
128   False
129   False
130  
131 
132
133


yes,就是生成这么一个文件就可以了。
你可以把xml后缀名改成.xls,用Excel打开是一模一样的东西。
这个文件可以很快得到,只需将目前手里的Excel文件另存为xml(excel 2000也支持),


7。使用vbScript来生成Excel
以前我有个同事写了一个非常复杂的asp程序导出excel,实际上使用的是asp+vbScript来生成Excel,
(相比C#操作Excel,vsscript更有效率优势。)
但后来,我们过渡到.net程序了,我们也在没有管vbscript来导出Excel,因为它过于繁杂而不可维护和重用(其他项目中)。

再后来,通过对象编程的实践,才发现抽象能力是OPP思想中重要的能力,提炼问题核心建立相应模型,再来谈论解决方法。
 单用vbscript来生成的确很麻烦,而且不好维护。
我们需要加入自己的模型。
 

这篇blog的地址《作一个Excel exporter的组件》
http://www.cnblogs.com/king_astar/archive/2005/12/25/304306.aspx

第三方方法
Eunge
《报表的开发利器-ExcelQuicker》
http://lovinger2000.cnblogs.com/archive/2005/06/27/181853.aspx