在需要连续生成excel报表的情况下,我以前的做法是每生成一个报表就需要一个excel.application,虽然在程序里写了及时的释放资源,但有一次客户需要连续生成>2000份的报表,服务器运行的时候就挂住了,总结发现程序在运行过程中并没有真正的释放excel.application,同时在系统里存在>2000个的excel进程所以会挂住。改进思想如下:
1.workbook1=excel.application.workbook.open(excel template path)
2.workbook2=excel.application.workbook.add()
3.workbook1.sheet(1).copy(before:=workbook2.sheet(1))
4.delete workbook1's excrescent worksheet
5.imports data to workbook1.sheet(1) and savecopyas(savepath)
6.workbook2.sheet(1).copy(before:=workbook1.sheet(1))
7.goto the 4 step
再运用Q.yuhen的这个就可以不需要设置dll的那些什么安全性之类的了
http://www.cnblogs.com/yuhen/archive/2004/07/01/20198.html#FeedBack
见笑
浙公网安备 33010602011771号