zoukankan      html  css  js  c++  java
  • 数据库导出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
  • 相关阅读:
    使用Jenkins自动编译 .net 项目
    Windows平台下Git服务器搭建
    在MAC上搭建cordova3.4.0的IOS和android开发环境
    检索 COM 类工厂中 CLSID 为 {820280E0-8ADA-4582-A1D9-960A83CE8BB5} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。
    IIS7 404 模块 IIS Web Core 通知 MapRequestHandler 处理程序 StaticFile 错误代码 0x80070002
    mac 端口被占用及kill端口
    查询数据库表大小sql
    开启关闭keditor 过滤
    sql修改字段名称
    Android客户端性能优化
  • 原文地址:https://www.cnblogs.com/conan304/p/1536291.html
Copyright © 2011-2022 走看看