2017-01-18 9 views
0

Я ищу, чтобы сохранить файл excel в определенном месте с текущей меткой даты, добавленной к имени файла, используя Microsoft Excel Interop. Я могу сохранить файл без штампа datetime, но каждый раз, когда я пытаюсь добавить штамп datetime, я получаю исключение, к которому невозможно получить доступ к файлу. Вот мой кодДобавление штампа datetime в файле en excel с использованием Interop с использованием C#

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); 

Я пробовал несколько комбинаций, но не могу понять, что происходит. Есть ли другой способ сделать это. И это должно быть только консольное приложение.

+0

попробовать xlWorkBook.SaveAs (string.Format ("D: \\ {0} _Beeper.csv", System.DateTime.Now.ToString()), ......) Я считаю, что ваш код не работает, потому что вы добавляете метку времени перед именем файла – dgorti

+0

Я попытался добавить его после, но все же. –

ответ

0

Я считаю, что проблема в том, что 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"))); 
+0

Спасибо. Это работает –

 Смежные вопросы

  • Нет связанных вопросов^_^