使用 C# 使用 Interop 在 en excel 文件中附加日期时间戳
Appending a datetime stamp in en excel file using Interop using C#
我希望使用 Microsoft Excel Interop 将 excel 文件保存到特定位置,并将当前日期时间戳附加到文件名。我可以在没有日期时间戳的情况下保存文件,但每次我尝试附加日期时间戳时,我都会收到无法访问文件的异常。这是我的代码
xlWorkBook.SaveAs(System.DateTime.Now.ToString() + @"D:\Beeper.csv", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
//xlWorkBook.SaveAs(@"D:\Beeper.csv", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
//System.IO.File.Move(@"D:\Beeper.csv", System.DateTime.Now.ToString());
//xlWorkBook.SaveCopyAs(System.DateTime.Now);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
我尝试了多种组合,但无法弄清楚发生了什么。有没有其他方法可以做到。而且它只能是控制台应用程序。
我认为问题在于 DateTime.Now.ToString() 可能会返回您
像 mm/dd/yyy hh:mm:ss 这样的 '/' 字符在文件名中是非法的。
尝试
SaveAs(string.Format("D:\Beeper_{0}.csv", DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss")));
我希望使用 Microsoft Excel Interop 将 excel 文件保存到特定位置,并将当前日期时间戳附加到文件名。我可以在没有日期时间戳的情况下保存文件,但每次我尝试附加日期时间戳时,我都会收到无法访问文件的异常。这是我的代码
xlWorkBook.SaveAs(System.DateTime.Now.ToString() + @"D:\Beeper.csv", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
//xlWorkBook.SaveAs(@"D:\Beeper.csv", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
//System.IO.File.Move(@"D:\Beeper.csv", System.DateTime.Now.ToString());
//xlWorkBook.SaveCopyAs(System.DateTime.Now);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
我尝试了多种组合,但无法弄清楚发生了什么。有没有其他方法可以做到。而且它只能是控制台应用程序。
我认为问题在于 DateTime.Now.ToString() 可能会返回您 像 mm/dd/yyy hh:mm:ss 这样的 '/' 字符在文件名中是非法的。 尝试
SaveAs(string.Format("D:\Beeper_{0}.csv", DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss")));