C# 保存文件时Excel无法访问该文件
我正试图保存我在c#中创建的Excel文件。我在标题中添加了一个C# 保存文件时Excel无法访问该文件,c#,excel,C#,Excel,我正试图保存我在c#中创建的Excel文件。我在标题中添加了一个DateTime.Now,并确保字符兼容。现在,当文件夹存在时,我出现了上述错误。我已经发布了它所说的可能是错误,但没有一个适用。另外,当我收到错误时,它会告诉我日期时间。现在部分是指今天的日期和开始时间是5/9/8E017700。这不是年份和时间的日期或时间。我认为这可能是问题所在,但我不确定为什么它会被更改,因为我从未更改名称的变量。我怎样才能解决这个问题 •文件名或路径不存在 •另一个程序正在使用该文件 •您试图保存的工作簿与
DateTime.Now
,并确保字符兼容。现在,当文件夹存在时,我出现了上述错误。我已经发布了它所说的可能是错误,但没有一个适用。另外,当我收到错误时,它会告诉我日期时间。现在部分是指今天的日期和开始时间是5/9/8E017700。这不是年份和时间的日期或时间。我认为这可能是问题所在,但我不确定为什么它会被更改,因为我从未更改名称的变量。我怎样才能解决这个问题
•文件名或路径不存在
•另一个程序正在使用该文件
•您试图保存的工作簿与当前打开的工作簿同名
string date = DateTime.Now.ToString().Replace(":", ".");
string filename = "IncomingProduct-" + date + ".xls";
string subPath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "/Documents/Reports/";
bool isExists = Directory.Exists(subPath);
if (!isExists)
Directory.CreateDirectory(subPath);
xlWorkBook.SaveAs(subPath + filename);//error here
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
System.Diagnostics.Process.Start(subPath + filename);
您不能使用带有斜杠的文件名,因此如果日期带有斜杠,则不会保存它。是否已存在“/Documents/Reports/”文件?在这种情况下是否应为“//Documents//Reports//?”@N4TKD是的,如果不是,则会创建。在xlWorkBook.SaveAs
行上设置断点,并检查子路径
和文件名
的内容。执行代码时,这些变量的具体值是什么?我将使用字符串path=path.combine(subPath,filename);非常感谢你的帮助,我在网上搜索了所有的东西,并试图访问我在那里找到的所有东西。最后,这就是解决办法!