我们编写了一个工具来打开一个 excel 文件,用数据库中的数据填充它,并用 c# 中的 closexml.excel 用另一个名称保存它。
有时它会抛出此错误:
该进程无法访问文件“”,因为它正在被另一个进程使用。
我想知道这可能是哪个过程,因为这个文件是全新的。
所以我写了一个小脚本来测试这个。
var path = @"c:\tmp\CCI_Reporting";
for (var i = 1; i < 100; i++)
try
{
var workBook = new XLWorkbook($@"{path}\0.xlsx");
workBook.SaveAs($@"{path}\{i}.xlsx");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Thread.Sleep(10000);
。肯定没有其他过程。
在网络驱动器上保存时出现什么问题?
可能的解决方法是什么?
谢谢你的帮助。
为什么这个人不写出我的问题有什么问题?不幸的是,-1 对我没有帮助。
但幸运的是我找到了可以帮助我的人。这是解决方案:
var path = @"e:\CCI_Reporting";
for (var i = 1; i <= 100000; i++)
try
{
using var x = File.Open($@"{path}\0.xlsx", FileMode.Open);
using var y = File.Create($@"{path}\{i}.xlsx");
var workBook = new XLWorkbook(x);
workBook.SaveAs(y);
Console.WriteLine($"workbook {i} saved.");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}