zoukankan      html  css  js  c++  java
  • 我做项目对Excel进程处理问题

      从我进公司开始做项目起,就少不了对Excel文件的处理,几乎都要用到对Excel文件的导入导出,第一个项目用到的导出是用DTS写的,因为是微软自己的导出工具所以就不存在很多人碰见的Excel进程问题,但是我第二个项目所有报表导出都要导成Excel文件,那么就发现存在大家常常碰见的现象就是进程中有很多的Excel.EXE,并且时常导致系统无法继续生成Excel文件问题。

      通过网上查阅一些资料,加上自己对各种方法的试验,写下我对Excel进程处理的一些经验(为什么是经验而不是代码呢?)

      1. 不要太在意进程中有一些Excel.EXE,有时候并不影响生成Excel文件,既然这样又何必太在意呢。

      2. 首先操作系统我推荐用windows2003 而不是windows20000 感觉2003做了些处理,我的项目在2003跑的时候从没出现过不能生成Excel文件的问题,而2000就经常接到客户的投诉。

      3. 操作系统安装Office时,我装的是Office2003版本,记住要选择应用程序的高级自定义。然后最好把每个节点下面的.net可编程性支持选择安装,如图1,2

        

            

         

      4. 你项目中生成Excel文件的代码一定不要有逻辑BUG,就是那种导致某个Excel对象出现异常,进而导致某次Excel文件生成失败,代码最后按照网上通常说的对用到的Excel对象逐个释放。当然代码最后加个GC.collect() 也可以。

      5. 一般来说我的项目就没出现过Excel文件生成不了的问题,不过我还是怕万一,所以就写了个windows服务程序,定时扫描进程,并杀掉进程开始时间距离当前时间5分钟前的Excel进程,这样基本不会误杀正在处理的Excel进程。

      6. 我在web项目中对Excel对象仅仅是释放,没有用到Process.Kill() 这个方法,因为我目前看法是asp.net用户的权限不够,无法使用上面的方法,在winform下面到可以使用该方法。

       上面是我个人总结的经验,拿出来和大家分享一下,另外我的博客文章都是原创的,如果转载请注明出处:)

       

  • 相关阅读:
    NGINX下配置404错误页面的方法分享
    mysql 统计
    nginx日志中访问最多的100个ip及访问次数
    ubuntu下完全安装mcrypt
    ngxtop:在命令行实时监控 Nginx 的神器
    AngularJs 返回上一页
    nginx 报错 upstream timed out (110: Connection timed out)解决方案
    IAP 破解漏洞验证
    AceAdmin-v1.4.0 下载
    TP QQ 微信 微博登录
  • 原文地址:https://www.cnblogs.com/hustsay23/p/1314389.html
Copyright © 2011-2022 走看看