#c# #asp.net #excel #asp.net-mvc #openxml
Вопрос:
Я создаю файл Excel с несколькими листами, используя DocumentFormat.OpenXml
библиотеку из моего C#
кода. Файл создается без каких-либо проблем, и в нем есть все необходимые данные, но когда я открываю его, я получаю всплывающее окно с этой ошибкой:
Я заметил, что этот ошибочный файл имеет тип XSLX file
. Если он такого типа Microsoft Excel Worksheet
, как ни странно, он не выдает никаких ошибок:
Я просто не понимаю, что здесь не так и как я могу это исправить. Нужны предложения, пожалуйста. Ниже приведен мой фрагмент кода:
private static void WriteToExcelFile(HashSet<string> modules, Dictionary<string, HashSet<MyData>> dataDictionary)
{
if (!Directory.Exists(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Content\MyDocument")))
Directory.CreateDirectory(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Content\MyDocument"));
string fileFullname = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Content\MyDocument", "MyExcel.xslx");
SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(fileFullname, SpreadsheetDocumentType.Workbook);
WorkbookPart workbookpart = spreadsheetDocument.AddWorkbookPart(); // Add a WorkbookPart to the document
workbookpart.Workbook = new Workbook();
// Add Sheets to the Workbook
Sheets sheets = spreadsheetDocument.WorkbookPart.Workbook.AppendChild(new Sheets());
// populate sheets
.....
spreadsheetDocument.Close();
}
Комментарии:
1. ваше расширение ДОЛЖНО быть .xlsx , а не .xslx !!!
2. Упс! большое вам спасибо!
Ответ №1:
Ошибка возникает из-за неправильного расширения: оно ДОЛЖНО быть .xlsx, а не .xslx