最近做一个项目遇到这样一个问题:
我有一些Excel的模扳文件,放在服务器上,要求把统计出来的数据导入到模扳文件中,然后在本地即客户端另存为一个文件,我利用的是.net中的com组件来做的,步骤是这样的:1:加载Excel的模扳文件.2:利用画面中的数据逐个单元格的填充.3:把填充完数据的excel文件另存为一个文件.4:利用流的形式把服务器上保存的文件传送到本地,以上部分都能很好的实现,但是当要删除服务器上的文件时,就报错了,说是这个文件正在被使用不让删,而且内存中的excel进程结束不了,一直解决不了??真郁闷,有那位大虾以前遇到过这种情况,急等回复!!是不是还有其他的方法,也希望大家多多得指教!!!!!!!!

解决方案 »

  1.   

    你是在什么时候删除文件?当你在读取这个模板文件 的时候 是不能够删除的
    先dispose() 试试
      

  2.   

    再由服务器向客户端传完文件后,释放流资源后关闭的,我试了一下,当把内存中的一个aspnet_wp.exe进程结束掉后,就可以删除服务器上保存的文件
      

  3.   

    是不是学asp.net到一定程度都要和office接触呀,太难了简直
      

  4.   

    Dim excelProcess As System.Diagnostics.Process
            For Each excelProcess In System.Diagnostics.Process.GetProcessesByName("EXCEL")
                excelProcess.Kill()
            Next
    先强制咔嚓掉这个Excel进程,再删除好了。
      

  5.   

    我在我的项目中的经验是,如果你的程序没有抛出异常,并且服务器端的程序执行了
    ExApplication.quit();
    的话,Excel进程就会关闭。
      

  6.   

    就像MS server2000 中的DATA数据库分离后的文件嘛,
    在程序的 DATA 文件夹下,只要数据库运行他就不能修改和移动。
      

  7.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=299D1529-59A3-42F9-77A7-7BF353754FEA