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";

}

    请大神帮忙看看!

图片说明

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

https://www.cnblogs.com/Caceolod/articles/1334972.html

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

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