我正在尝试使用Apache POI XSSF将表导出为xlsx。表有5列。
第一行有标题栏合并5列。在第二行,表格的5个标题。剩余的行是数据。我想将列的宽度设置为每个标题块的最大宽度。
我尝试了mySheet.autoSizeColumn(colnum)
和mySheet.setColumnWidth(columnIndex, width)
。问题AutosizeColumn
,它返回所有行中数据的最大宽度。因此,如果表中某些数据的宽度更大,则表头宽度变得非常大。
对于第二个,setColumnWidth
,我需要知道标题单元格的宽度,以便我可以将其设置为工作表。但是如何找到特定细胞的宽度?在搞清楚怎么做的时候还没有运气。关于如何做到这一点的任何想法?
答案 0 :(得分:5)
我建议使用简单的解决方案。
使用条件并在写完第2行(即标题行)后,使用AutosizeColumn()
它将根据标题宽度更改单元格宽度,然后宽度将保持不变。