NPOI是Java POI项目的.NET端口,允许用户读取和写入Microsoft Excel文档(以及其他Office格式)。 NPOI 1.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");