2013-02-22 2 views
0

Я пытаюсь преобразовать DataTable в excel-файл, но во время создания файла он дает мне ошибку: не смог найти часть пути.не удалось найти часть пути

string strDirectorypath = HttpContext.Current.Server.MapPath("~/ExcelUpload/"); 
DateTime dtbatchtime = Convert.ToDateTime(strBatchProcesstime); 
strBatchProcesstime = dtbatchtime.ToString("MM-dd-yyyy_hh_mm_ss"); 

string strFilename = "FailedExcel_" + strBatchProcesstime + ".csv"; 
string csvdownloadPath = Path.Combine(strDirectorypath, strFilename); 
using (FileStream File_Stream = new FileStream(csvdownloadPath, FileMode.Create, FileAccess.Write, FileShare.ReadWrite)) 
{ 
    using (StreamWriter FileWriter = new StreamWriter(File_Stream)) 
    { 
     FileWriter.BaseStream.Seek(0, SeekOrigin.End); 
     string[] columns = { "Opportunity Name", "Property Id", "Error Type", "Error Message", "Time" };//set columns here as in the Excel Sheet. 
     CreateColumns(FileWriter, columns); 
     FileWriter.WriteLine(); 
     if (dtRecords.Rows.Count > 0) 
     { 
      for (int i = 0; i < dtRecords.Rows.Count; i++) 
      { 
       string[] values = { 
        dtRecords.Rows[i]["OpportunityName"].ToString(), 
        dtRecords.Rows[i]["PropertyId"].ToString(), 
        dtRecords.Rows[i]["ErrorType"].ToString(), 
        dtRecords.Rows[i]["ErrorMessage"].ToString(), 
        dtRecords.Rows[i]["TimeStamp"].ToString() 
       }; 
       CreateColumns(FileWriter, values); 
       FileWriter.WriteLine(); 
      } 
     } 

    } 
} 
+0

На какой линии вы получаете это исключение? – dutzu

+0

Посмотрите на результирующий путь и убедитесь, что все диски существуют. – wRAR

+0

Tim Schmelter Да, каталог существует. –

ответ

0

Если каталог не существует, он не будет создан, так что вы должны проверить и создать:

if (!Directory.Exists(strDirectorypath)) { 
    Directory.Create(strDirectorypath); 
} 

Expand, что с степеней проверки для вашей собственной надежности/здравомыслия.

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