尝试以编程方式将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”类型异常
其他信息:无法访问该文件。请尝试以下方法之一:
•确保指定的文件夹存在。
•确保包含该文件的文件夹不是只读文件。
•确保文件名不包含以下任何字符:< > ? []:|或者*
•确保文件/路径名称不超过218个字符。
然而,当我将Path字符串更改为
时private static string path = "@C:\users\user\desktop\MonetaryEntry_.csv";
它结算了。
目标是迭代循环,每次保存为唯一的* .csv文件。每次都会生成未确定数量的.csv文件。
一些笔记;向桌面写入我正在进行所有工作的用户帐户。如果相关,我会复制桌面上的文件并粘贴为其他名称并从那里开始工作。
我觉得我可能会遗漏一些相当简单的东西,因为这类问题通常是......
答案 0 :(得分:1)
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);
这将改变tostring。 :
不是路径中允许的字符。 (看看错误的第3个建议)