19

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

4

2 回答 2

34

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

mySheet.AutoSizeColumn(columnIndex)

并移至下一列。我发现没有其他方法可以使此功能正常工作。

于 2010-06-30T17:36:23.593 回答
5

正如 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");
于 2013-05-01T03:10:06.913 回答