如何在使用NPOI创建的Excel文档中将列设置为“自动调整大小”?

时间:2010-06-30 17:32:24

标签: excel npoi

NPOI是Java POI项目的.NET端口,允许用户读取和写入Microsoft Excel文档(以及其他Office格式)。 NPOI 1.2.2引入了对“自动调整大小”列的支持,其中列设置为列中最宽单元格条目的宽度。但是,有许多报道说这不起作用。那有可能吗?

2 个答案:

答案 0 :(得分:30)

我发布这个只是为了回答它,以便提供记录。 可以使用NPOI对列进行自动调整,但您必须在列中添加所有数据,而不是按行添加。将所有单元格添加到@ columnIndex列后,再调用

mySheet.AutoSizeColumn(columnIndex)

然后转到下一列。我找不到其他方法来使这个功能起作用。

答案 1 :(得分:4)

正如Yellowfog已经指出的那样,以下内容将起作用

mySheet.AutoSizeColumn(columnIndex)

然而,帖子中出现了一些含糊之处。它似乎只是在您完成输入数据,样式等之后才能工作的方法。这样就可以了。

ISheet mySheet = hssfworkbook.CreateSheet("sheet1");
IRow row = mySheet.CreateRow(0);
ICell cell = row.CreateCell(0);
cell.SetCellValue("foo");
mySheet.AutoSizeColumn(0);

但以下内容无效(因为它没有自动调整大小的信息)

ISheet mySheet = hssfworkbook.CreateSheet("sheet1");
mySheet.AutoSizeColumn(0);
IRow row = mySheet.CreateRow(0);
ICell cell = row.CreateCell(0);
cell.SetCellValue("foo");