我希望有人遇到过这个问题并有解决方案。
我能够利用该DocumentFormat.OpenXml.dll库成功创建一个 Excel 文件。
问题是,如果我的代码冻结了前 x 行,稍后当我在 Excel 中打开文档并尝试使用“打印”对话框时,我会看到其中一个“Microsoft Excel 已停止工作”对话框。
如果我解冻行,保存文件并重新打开它,打印对话框工作正常。我什至可以手动冻结行,保存文件并在 Excel 中打开它;打印对话框工作正常。
我什至在 OpenXML Productivity 工具中打开了这两个文件,两者的代码看起来都一样。
所以我正在做的事情一定有其他问题。
如果有帮助,这里是做所有事情的功能。样式表和数据表在其他地方填充:
public void CreateSpreadsheetWorkbook ( string filepath, List<string []> dataList, List<string> excelHeader )
{
SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create ( filepath, SpreadsheetDocumentType.Workbook ); // Create a spreadsheet document by supplying the filepath.By default, AutoSave = true, Editable = true, and Type = xlsx.
WorkbookPart workbookpart = spreadsheetDocument.AddWorkbookPart (); // Add a WorkbookPart to the document.
workbookpart.Workbook = new Workbook (); …Run Code Online (Sandbox Code Playgroud)