在NPOI创build的Excel文档中,如何将列设置为“autosize”?

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

我已经发布这个只是为了回答它,以提供一个logging。 可以使用NPOI对列进行自动化处理,但必须将所有数据添加到列中,而不是以行的forms添加。 一旦所有的单元格被添加到column @ columnIndex,然后调用

 mySheet.AutoSizeColumn(columnIndex) 

并移到下一列。 我找不到其他的方法来使这个function的工作。

正如Yellowfog所指出的那样,

 mySheet.AutoSizeColumn(columnIndex) 

然而有些尴尬在post里出现。 这似乎是一种方法,只有当你完成input数据,样式等,所以这个工作

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

但以下内容将不起作用(因为它没有自动resize的信息)

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