2015-08-06 3 views
0

Привет всем У меня есть следующий код, который отлично работаетсоздать экземпляр из значения строки

using (ExcelPackage package = new ExcelPackage(newFile)) 
{ 
    ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Company1"); 
    //Add the headers 
    worksheet.Cells[1, 1].Value = "ServiceNo"; 
    worksheet.Cells[1, 2].Value = "AccountNo"; 
    worksheet.Cells[1, 3].Value = "Service"; 
    worksheet.Cells[1, 4].Value = "CostCentre"; 
    //Add some items... 
    int x = 2; 
    worksheet.Cells["A" + x.ToString()].Value = 12001; 
    worksheet.Cells["B" + x.ToString()].Value = "Nails"; 
    worksheet.Cells["C" + x.ToString()].Value = 37; 
    worksheet.Cells["D" + x.ToString()].Value = 3.99; 
    package.Save(); 
} 

, но я хочу добавить несколько таблицу программно, как этот

List<string> compCodes = new List<string>(); 
//loop through records in db 
compCodes.Add("comp1"); 
compCodes.Add("comp2"); 

using (ExcelPackage package = new ExcelPackage(newFile)) 
{ 
    add a new worksheet to the empty workbook 
    foreach (string comp in compCodes) 
    { 
     string company = "company" + comp; 
     ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(company); 
     //Add the headers 
     worksheet.Cells[1, 1].Value = "ServiceNo"; 
     worksheet.Cells[1, 2].Value = "AccountNo"; 
     worksheet.Cells[1, 3].Value = "Service"; 
     worksheet.Cells[1, 4].Value = "CostCentre"; 
     worksheet.Cells[1, 5].Value = "Usage"; 
     worksheet.Cells[1, 6].Value = "Usage"; 
     worksheet.Cells[1, 7].Value = "GrossRecurring"; 
     worksheet.Cells[1, 8].Value = "OneOffCharge"; 
     worksheet.Cells[1, 9].Value = "Adjustments"; 
     worksheet.Cells[1, 10].Value = "Discount"; 
     worksheet.Cells[1, 11].Value = "TotalExVAT"; 
     worksheet.Cells[1, 12].Value = "VAT"; 
     worksheet.Cells[1, 13].Value = "Total"; 
     worksheet.Cells[1, 14].Value = "Source Bill Ref"; 
     int x = 1; 
     worksheet.Cells["A" + x.ToString()].Value = 12001; 
     worksheet.Cells["B" + x.ToString()].Value = "Nails"; 
     worksheet.Cells["C" + x.ToString()].Value = 37; 
     worksheet.Cells["D" + x.ToString()].Value = 3.99; 
    } 
    package.Save(); 
} 

Я думал, что это работает, но это метания ошибку, когда он пытается сохранить

ошибка сохранения файла C: \ Inetpub \ download.xlsx

может кто-нибудь помочь

+0

Удалось ли вам установить права доступа? –

ответ

0

c: \ inetpub - это папка сайта по умолчанию для любого веб-сайта, размещенного через IIS. Ваше веб-приложение (& web-сервер) по умолчанию настроено на отсутствие доступа к вашей локальной файловой системе на вашем компьютере.

Вы можете создать правило доступа к папкам сайта с помощью официальной документации MSDN

https://msdn.microsoft.com/en-us/library/vstudio/t32yf0a9(v=vs.100).aspx

Dependening на Вида аутентификации вы используете, могут быть дополнительные шаги, которые применяются все с той же страницы.

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