我正在尝试计算工作簿中的工作表数。该工作簿是使用NPOI创建的,似乎没有一种方法可以使用C#版本的NPOI来计算纸张数量吗?
解释和展示这是一件非常棘手的事情……但是我会尝试一下。
我要做的是将现有的excel文件作为统计模板。这个现有的excel文件可以具有不同数量的模板,我需要能够对这些模板进行计数,以了解将新工作表放置在何处并编辑其名称。
数据发送者只需选择应使用哪些数据填充哪个模板工作表,然后在插入所有数据后从工作簿中删除模板工作表。
我尝试过的事情:
我已阅读文档并搜索了信息,并尝试了以下方法:
这种方法的问题:NPOI的C#版本似乎没有getNumberOfSheets。
由于工作表和行的功能太不同,因此无法真正重新创建适用于工作表的代码。
var sheetIndex = 0;
foreach (var sheet in requestBody.Sheets)
{
if (sheet.TemplateNumber == "")
{
sheetTemplate = templateWorkbook.CreateSheet(sheet.Name);
}
else
{
sheetTemplate = templateWorkbook.CloneSheet(Convert.ToInt32(sheet.SheetTemplate));
if (!templates.Contains(Convert.ToInt32(sheet.SheetTemplate)))
{
templates.Add(Convert.ToInt32(sheet.SheetTemplate));
}
// Do math's to make sure we add the name to the newly created sheet further down the code (I need to actual index here)
}
// Insert statistics
//After inserting statistics:
workingCopy.SetSheetName(sheetIndex, sheet.Name);
foreach (var template in templates)
{
workingCopy.RemoveSheetAt(template);
}
}
答案 0 :(得分:0)
您可以从NumberOfSheets
类的XSSFWorkbook
属性中获取页数。