在XSSF Apache POI中将特定单元格宽度设置为列

时间:2014-01-03 04:23:58

标签: java apache-poi xlsx xssf

我正在尝试使用Apache POI XSSF将表导出为xlsx。表有5列。

第一行有标题栏合并5列。在第二行,表格的5个标题。剩余的行是数据。我想将列的宽度设置为每个标题块的最大宽度。

我尝试了mySheet.autoSizeColumn(colnum)mySheet.setColumnWidth(columnIndex, width)。问题AutosizeColumn,它返回所有行中数据的最大宽度。因此,如果表中某些数据的宽度更大,则表头宽度变得非常大。 对于第二个,setColumnWidth,我需要知道标题单元格的宽度,以便我可以将其设置为工作表。但是如何找到特定细胞的宽度?在搞清楚怎么做的时候还没有运气。关于如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:5)

我建议使用简单的解决方案。

使用条件并在写完第2行(即标题行)后,使用AutosizeColumn()它将根据标题宽度更改单元格宽度,然后宽度将保持不变。