.NET EPPlus OpenXml – 在每一页重复Excel行
我试图在每个Excel页面上保留一行(标题字段)。 我正在使用EPPlus库中包含的OpenXML。
我试过下面这行代码:
myWorkSheet.PrinterSettings.RepeatRows = New ExcelAddress(String.Format("${0}:${0}", firstRowNummerExcel.ToString()))
这不会对我造成错误或崩溃,但只是没有做任何特别的事情…
PrinterSettings对象似乎工作,执行下面的代码行工作:
worksheetVertrokkenRunderen.PrinterSettings.ShowHeaders = true
这让我觉得可能插入的ExcelAddress不正确?
我想我find了自己的答案,在Excel中设置一个循环的行,然后将该文档读入内存和额外的RepeatRows属性:显然,您必须添加工作表的名称以及…
myWorkSheet.PrinterSettings.RepeatRows = New ExcelAddress(String.Format("'{1}'!${0}:${0}", firstRowNummerExcel, myWorkSheetName))
这工作:-)
目前在EPPlus中有一个错误,在同一时间设置RepeatColumns和RepeatRows会导致无效的引用被创build,并被Excel忽略。
解决方法是手动添加以下命名范围。 (这与EPPlus试图完成的完全一样。)
worksheet.Names.AddFormula("_xlnm.Print_Titles", $"'{worksheet.Name}'!$A:$B,'{worksheet.Name}'!$1:$4");