保存时不能访问C#excel SaveAs文件

尝试以编程方式将Excel工作表保存为循环中的唯一文件名。

private static DateTime csvtime = DateTime.Now; private static string time = csvtime.ToString("HH:mm:ss"); private static string Path = @"C:\users\User\desktop\MonetaryEntry_"+time+".csv"; mySheet = (Excel.Worksheet)myBook.Worksheets[1]; mySheet.SaveAs(Path, Microsoft.Office.Interop.Excel.XlFileFormat.xlCSV); 

这会失败,并出现以下错误

在MonetaryEntryFormatting.exe中发生未处理的“System.Runtime.InteropServices.COMException”typesexception

其他信息:文件无法访问。 尝试以下方法之一:

•确保指定的文件夹存在。

确保包含该文件的文件夹不是只读的。

•确保文件名不包含以下任何字符:<>? []:| 要么 *

确保文件/path名称不超过218个字符。

但是当我更改pathstring

 private static string path = "@C:\users\user\desktop\MonetaryEntry_.csv"; 

它解决。

目标是通过一个循环来保存每一次循环作为一个唯一的* .csv文件。 每次都会生成未确定数量的.csv文件。

几个笔记;

写在桌面上的用户帐户,我目前正在做所有的工作。如果相关,我复制一个文件在桌面上,并作为一个不同的名称粘贴并从那里工作。

我觉得我可能会错过相当简单的事情,因为这种问题通常是..

 private static DateTime csvtime = DateTime.Now; private static string time = csvtime.ToString("HH_mm_ss"); private static string Path = @"C:\users\User\desktop\MonetaryEntry_"+time+".csv"; mySheet = (Excel.Worksheet)myBook.Worksheets[1]; mySheet.SaveAs(Path, Microsoft.Office.Interop.Excel.XlFileFormat.xlCSV); 

这是要改变的。 该:不是path中允许的字符。 (看第三个错误build议)