写了一个Excel表格导入到数据库的操作,导入完了想删除Excel文件,然后提示:XXX.xls文件正由另一进程使用,因此该进程无法访问该文件。出现这种情况,应该调整的是操作Excel完之后,得关闭进程才是。 具体的写法不知道是怎样的,求解。

解决方案 »

  1.   

    不是关闭进程,是你要关闭你打开的XXX.xls文件。
      

  2.   

    读取excel流的方法没有close
    或者使用using关键是实例化对象~
      

  3.   

    FileStream fs = new FileStream(fileUrl, FileMode.Open);
    BinaryReader br = new BinaryReader(fs);
    byte[] bytes = br.ReadBytes((int)fs.Length);
    br.Close();
    fs.Close();
    MemoryStream ms = new MemoryStream(bytes);
    //System.Drawing.Image = System.Drawing.Image.FromStream(ms);
    File.Delete(fileUrl);//删除文件
    我这个写法对吗?
      

  4.   


    第一行就报错了,仍然提示:XXX.xls文件正由另一进程使用,因此该进程无法访问该文件。
      

  5.   

    变通的方法,
    Insus.NET的做法,一般是在站点建一个临时文件夹,所在文件操作均在此文件夹进行。
    再写一个定时删除文件的功能,每天删除昨天的临时文件。
    http://www.cnblogs.com/insus/articles/1431986.html
    or
    http://www.cnblogs.com/insus/articles/1986723.html