OpenXml - 无法创建样式表并将其分配给MS Excel

时间:2015-07-17 13:20:35

标签: c# excel-2007 openxml

我正在尝试使用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。有人可以检查一下并解释出现了什么问题。

0 个答案:

没有答案