ross_liu
ross_liu
采纳率88.9%
2019-12-23 16:02

c#连续执行去读文件,删除文件,报“文件‘D:\1.xlst’正由另一进程使用,因此该进程无法访问此文件”

已采纳

通过一个click事件来连续的在本地生成EXCEL文件,然后通过邮件发出;
如果连续点击两次就会报错:文件正由另一进城使用,因此该进程无法访问此文件

if (!System.IO.File.Exists(@"D:\"+str+".xlsx"))

{

    saveFileDialog.FileName = @"D:\" + str + ".xlsx";

}

else
{

     System.IO.File.Delete(@"D:\" + str + ".xlsx");
     saveFileDialog.FileName = @"D:\" + str + ".xlsx";

}

    请大神帮忙看看!

图片说明

问题解决了。再邮件发完以后添加这个就可以了

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • dabocaiqq dabocaiqq 2年前
  • hxycsdn9159 hxycsdn9159 2年前

    通过一个click事件来连续的在本地生成EXCEL文件,**然后通过邮件发出**; 你通过邮件发出的时候有没有再打开这个文件?

    点赞 评论 复制链接分享
  • qq_28249373 shifenglv 2年前

    肯定是没有全部关闭,你检查一下其他进程有没有对文件进行操作。首先看看,click后面有没有把文件关闭,还有,有可能C#调用了office某个模块,这个进程可能没有关闭

    点赞 评论 复制链接分享