用户LIVE环境中数据量比较大。
每个月都需要导出报表。过程是先执行FTSEARCH,再一条一条导出。
先后采用过以下两种方式:
1.代理中使用Print 的方式画一个表格,再以附件方式用打开。这样发现:
1)服务器的nhttp占用率很高
2)生成的EXCEL文件很大
2.代理中使用createobject,直接在服务器上生成一个EXCEL文件,再返回一个地址由IE做为附件下载。这样发现:
1)生成的速度相当慢
2)后台的EXCEL的线程系统占用率也很高
3)但生成的EXCEL文件很小。同样的记录数,方式一生成的EXCEL文件要10几M,方式只要几百K。
请问大家有没有发现过这样的问题?
有没有什么优化的办法。
本来想用JS直接在本地生成EXCEL,但查询出来的记录又放在哪里呢?
谢谢
------解决方案--------------------
查询出来的记录放到一个table中,然后导出为excel试试
------解决方案--------------------
当然是用第2个方式。
不过修改你的creatobject,不要调用excel接口
改为文件输出接口,输出csv格式,而非ms excel格式,比如 字段1,字段2 回车 字段1,字段2
------解决方案--------------------
不要用creatobject,那样程序只能在WINDOWS服务器上运行,用print拼个页面,然后用new File 生成一个.xls文件,将print出的内容写到.xls里面就OK。
------解决方案--------------------
HTTP进程占的CPU确实比较高,如果可以的话,可以通过在前台先展现,然后再通过JS直接将页面的内容拷贝到EXCEL中,简单快捷,呵呵,只要客户能够习惯。