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

om3*_*39a 5 java xlsx apache-poi xssf

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

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

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

San*_*ngh 5

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

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