我正在尝试使用OpenXml 2.0和C#创建一个Excel电子表格。我可以创建一个普通的excel,没有任何格式的数据表值来自数据库。但是,当我尝试创建一个新样式以应用于某些特定字段时,创建了excel但无法打开并抛出错误消息:
Excel已停止工作。
以下是我用来创建StyleSheet
的代码。
SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(filepath,SpreadsheetDocumentType.Workbook);
// Add a WorkbookPart to the document.
WorkbookPart workbookpart = spreadsheetDocument.AddWorkbookPart();
workbookpart.Workbook = new Workbook();
workbookpart.Workbook.Save();
// Add a WorksheetPart to the WorkbookPart.
WorksheetPart worksheetPart = workbookpart.AddNewPart<WorksheetPart>();
worksheetPart.Worksheet = new Worksheet(new SheetData());
worksheetPart.Worksheet.Save();
WorkbookStylesPart stylePart = spreadsheetDocument.WorkbookPart.AddNewPart<WorkbookStylesPart>();
Stylesheet styleSheet = new Stylesheet();
CellFormats cellFormats = new CellFormats() { Count = (UInt32Value)1U };
CellFormat cellFormat = new CellFormat(new Alignment { WrapText = true });
cellFormats.Append(cellFormat);
styleSheet.Append(cellFormats);
styleSheet.Save(stylePart);
//stylePart.Stylesheet = styleSheet;
//stylePart.Stylesheet.Save();
UInt32Value styleIndex = styleSheet.CellFormats.Count;
有人可以帮忙解决这个问题。如果我评论StyleSheet
创建部分,则会生成并完美访问excel。有人可以检查一下并解释出现了什么问题。