首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

.net高效率导出excel

2012-12-20 
.net高效导出excel维护一个老系统,.net写的,功能是查询并导出为excel。用户发现数据超过10000行的时候,系统

.net高效导出excel

维护一个老系统,.net写的,功能是查询并导出为excel。

用户发现数据超过10000行的时候,系统报错。

经过分析,应该是viewstate大小超限了,查询结果首先是用datagrid展示的,而且其viewstate是enabled。iis6以后,可以调整web服务器能接受的post数据的最大值,但ii5不行。tomcat也有类似的参数。

没办法,只好禁用datagrid的viewstate。而是把查询结果保存在session了,或者导出的时候,再查询一次。

接下来还有一个问题,导出1万条数据到excel时,效率极低,需要好几分钟。

google了一下,发现这是excel interop方式下的一个问题。解决办法是有的。

原来用worksheet.cells[x,y]这样的方式填充数据太低效。得用worksheet.get_range("A1","A1").get_resize(100,100).value=aArray;这样的方式,把一个二维数组直接赋值,瞬间完成。

?

把这个小事记下来,给用得着的朋友做参考。

热点排行