【发布时间】:2017-02-23 08:40:59
【问题描述】:
我正在尝试使用 ClosedXML 库和以下代码在现有 excel 文件 (xlsx) 上添加标题行:
public void HandlePrintTitleRows(IList<int> sheetIndex)
{
using (_workbook = new XLWorkbook(_filePath))
{
foreach (var i in sheetIndex)
{
IXLWorksheet workSheet = _workbook.Worksheet(i);
workSheet.PageSetup.SetRowsToRepeatAtTop(1, 5);
}
_workbook.SaveAs(_filePath);
}
}
文件路径来自 SaveFileDialog 对话框,它以 XLWorkbook 的形式打开看似正确。
我从_workbook.SaveAs 方法收到此异常消息:
属性“xfId”应该具有唯一值。
它的当前值“10” 与他人重复。在 /x:styleSheet[1]/x:cellStyles[1]/x:cellStyle[21]
属性 'xfId' 应该具有唯一值。
它的当前值“12”与 其他。在 /x:styleSheet[1]/x:cellStyles[1]/x:cellStyle[24]
属性 'xfId' 应该具有唯一值。
它的当前值“50”与 其他。在 /x:styleSheet[1]/x:cellStyles[1]/x:cellStyle[55
属性 'xfId' 应该具有唯一值。
它的当前值“50”与 其他。在 /x:styleSheet[1]/x:cellStyles[1]/x:cellStyle[59]"
堆栈跟踪:
在 ClosedXML.Excel.XLWorkbook.Validate(SpreadsheetDocument 包)在 C:\Git\ClosedXML\ClosedXML\Excel\XLWorkbook_Save.cs:90 行
在 ClosedXML.Excel.XLWorkbook.CreatePackage(字符串文件路径, SpreadsheetDocumentType 电子表格DocumentType, B...
我不知道如何处理这个问题,所有提示将不胜感激! excel文件之前是Telerik.Windows.Documents.Spreadsheet.Model.Workbook类创建的,可以用excel应用程序正常打开。
【问题讨论】: