У меня есть приложение для веб-форм C#, и я хочу экспортировать содержимое gridview для Excel с использованием Open XML SDK 2.5. Это работает отлично, когда я запускаю в localhost, но не работает, когда я перемещаю свое приложение на веб-сервер UAT, и я не получаю ошибки. Я считаю, что это ошибка, но не уверен. Спасибо,Открыть SDK Не удается открыть файл Excel при работе на веб-сервере, но работает в localhost
DocumentFormat.OpenXml.Packaging.SpreadsheetDocument spreadsheet;
DocumentFormat.OpenXml.Spreadsheet.Worksheet worksheet;
System.IO.StreamReader styleXmlReader;
string styleXml;
spreadsheet = Excel.CreateWorkbook(workbookName);
if (spreadsheet == null)
{
return;
}
if (createStylesInCode)
{
Excel.AddBasicStyles(spreadsheet);
}
else
{
using (styleXmlReader = new
System.IO.StreamReader("PredefinedStyles.xml"))
{
styleXml = styleXmlReader.ReadToEnd();
Excel.AddPredefinedStyles(spreadsheet, styleXml);
}
}
Excel.AddSharedString(spreadsheet, "Shared string");
Excel.AddWorksheet(spreadsheet, "Test 1");
Excel.AddWorksheet(spreadsheet, "Test 2");
worksheet =
spreadsheet.WorkbookPart.WorksheetParts.First().Worksheet;
// Headings
Excel.SetCellValue(spreadsheet, worksheet, 1, 1, "QMS Area",
true);
Excel.SetCellValue(spreadsheet, worksheet, 2, 1, "Division
Owner", true);
Excel.SetCellValue(spreadsheet, worksheet, 3, 1, "Relevant
Divisions", true);
Excel.SetCellValue(spreadsheet, worksheet, 4, 1, "Audit Team",
true);
Excel.SetCellValue(spreadsheet, worksheet, 5, 1, "Audit Date",
true);
int _rowCount = 2;
foreach (var audit in _auditDetails)
{
// Set Values
Excel.SetCellValue(spreadsheet, worksheet, 1,
(uint)_rowCount, audit.QmsArea, true);
Excel.SetCellValue(spreadsheet, worksheet, 2,
(uint)_rowCount, audit.DivisionOwner ?? "", true);
Excel.SetCellValue(spreadsheet, worksheet, 3,
(uint)_rowCount, audit.RelevantDivision ?? "", true);
Excel.SetCellValue(spreadsheet, worksheet, 4,
(uint)_rowCount, audit.AuditTeam ?? "", true);
Excel.SetCellValue(spreadsheet, worksheet, 5,
(uint)_rowCount, audit.AuditDate.ToString() ?? "", true);
_rowCount++;
}
// Set column widths
Excel.SetColumnWidth(worksheet, 1, 15);
Excel.SetColumnWidth(worksheet, 2, 20);
worksheet.Save();
spreadsheet.Close();
System.Diagnostics.Process.Start(workbookName);
yes Я заметил, что файл сохраняется в C: \ Windows \ System32 \ inetsrv, но я дал полные разрешения для файла excel в этой папке и его все еще не работает. – DeadlyDan
Вы предоставили полные разрешения папке, в которой находится файл? – Wellspring