【问题标题】:Appending a datetime stamp in en excel file using Interop using C#使用 C# 使用 Interop 在 en excel 文件中添加日期时间戳
【发布时间】:2017-01-18 04:49:03
【问题描述】:

我正在寻找使用 Microsoft Excel 互操作将当前日期时间戳附加到文件名的特定位置保存一个 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);

我尝试了多种组合,但无法弄清楚发生了什么。有没有其他方法可以做到这一点。它只能是控制台应用程序。

【问题讨论】:

  • 试试 xlWorkBook.SaveAs(string.Format("D:\\{0}_Beeper.csv", System.DateTime.Now.ToString()),......) 我相信您的代码失败,因为您在文件名之前添加了时间戳
  • 我也试过添加它,但还是一样。

标签: c# excel save excel-interop


【解决方案1】:

我认为问题在于 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")));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-04
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多