NPOI xls:计算结束指数(x)超出允许范围(y..y + 2)

写入新创build的文件时,我总是得到一个exception。 即使提供的表单为空,我也会得到这个exception。 没有床单的工作簿保存没有问题。

这个例外显示为空白表单。

附加信息:计算结束指数(1932)超出允许范围(1908..1910)

我正在使用NOPI.dll ver.2.1.3.1 http://npoi.codeplex.com/我尝试创build的文件是.xls(Excel 97-2003)

代码中的文件pathbolow有一个值@“C:\ TB \ Report.xls”

我的代码

public void Generate() { HSSFWorkbook newWorkBook = new HSSFWorkbook(); ISheet newSheet = newWorkBook.CreateSheet("Main"); newWorkBook.Add(newSheet); using (FileStream fileOut = new FileStream(filePath, FileMode.Create)) { newWorkBook.Write(fileOut); } } 

文件被创build,但是它是空的。

当使用具有行和列的工作表创buildxls时,结果是相同的,除了exception中的数字更高。

问题是使用ISheet而不是HSSFSheet。 示例中显示的示例使用了ISheet,但是不正确。

正确的代码:

 public void Generate() { HSSFWorkbook newWorkBook = new HSSFWorkbook(); HSSFSheet newSheet = (HSSFSheet)newWorkBook.CreateSheet("Main"); var headerRow = newSheet.CreateRow(0); var headerCell = headerRow.CreateCell(0); headerCell.SetCellValue("Something"); using (FileStream fileOut = new FileStream(filePath, FileMode.Create)) { newWorkBook.Write(fileOut); } }