数据库导出excel (二)

前文:数据库导出excel<一>
上文所述的方法,虽然速度很快。但是有一个致命的缺点,文件无法再次导入。报错为:外部表不是预期的格式
如何解决此问题?如上文所述,把原来导出的文件用excel打开另存为就OK了
可是我们不能要求客户都这么做。
在这里提出一种解决方法,希望和大家探讨。
SQL2000不是能导出EXCEL么?而且是标准的excel文件。可以用SQL生成标准的excel文件,然后推给客户端下载啊。
有了这个想法,接着就试试,结果成功了。
步骤如下:
SQL生成excel的存储过程,来自zjcxc邹健邹老大,tks:
Code


然后生成excel,推向客户端。
原来的代码:

Code
问题出在推客户端这里,response流执行时,无法删除文件。难道咱们就永远让这这些文件存在服务器上?OMG。
后来在csdn发帖,终于解决。先把excel变成二进制读入内存,删除原excel,推向客户端。
c#端代码:


Code

终于完成。正常。
但是发布到iis会报错:


报错已经给出解决方法,添加文件夹的权限,对于本例,把F:\mycode\ExcelOut\Excel 文件夹加上aspnet帐户的完全控制权限。
OK,全部正常。



完整代码,包括前文的response输出:
后台代码:
Code

后台:
Code
posted @ 2009-08-01 00:02  Conan304  阅读(2274)  评论(0编辑  收藏  举报