2014-01-30 28 views
5

Я пытаюсь использовать EPPlus, чтобы сохранить таблицу в нашей локальной сети. Я использую FileStream объект, чтобы сделать это, однако всякий раз, когда я пытаюсь создать экземпляр объекта я получаю ошибкуFileStream - «Формат данного пути не поддерживается»

The given path's format is not supported

C#

private static string _fileName = "ErroredRows_"; 
    private static string _results = 
     @"\\prdhilfs03\l&i-sales&mkt\WORKAREA\Agencyservices\Shared\AIC\Analysts_and_Reporting\Realignments\2014\MassUpdateTesting\Results\"; 

    public static void WriteSpreadsheet(Dictionary<DataRow, string> errors) 
    { 
     //Create download Destination 
     string filePath = System.IO.Path.Combine(_results, _fileName + DateTime.Now.ToString("yyyy-MM-dd_HH:mm:ss") + ".xlsx"); 

     FileStream newFile = new FileStream(filePath, FileMode.Create, FileAccess.Write); 

     //Construct new Excel package 
     ExcelPackage pck = new ExcelPackage(newFile); 

     //Instantiate workbook object 
     var ws = pck.Workbook.Worksheets.Add("Query1"); 

Вот содержимое переменной filePathstring ,

\\\\prdhilfs03\\l&i-sales&mkt\\WORKAREA\\Agencyservices\\Shared\\AIC\\Analysts_and_Reporting\\Realignments\\2014\\MassUpdateTesting\\Results\\ErroredRows_2014-01-30_13:46:33.xlsx 

Эта линия бросает ошибку упомянутую выше:

FileStream newFile = new FileStream(filePath, FileMode.Create, FileAccess.Write); 
+3

Вы не можете иметь ':' в имени файла или пути –

+0

Nice :) Если вы хотите разместить это как ответ, он примет его. благодаря – NealR

ответ

11

Вы не можете иметь : в вашем имени файла или пути.

Что я буду делать, если я вас были это:

DateTime.Now.Ticks.ToString() 

вместо

DateTime.Now.ToString("yyyy-MM-dd_HH:mm:ss") 

Во всяком случае, вы можете сохранить свою собственную логику, но вы должны удалить : (вместо этого использовать - или _ например)

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