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

5

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

第一行包含标题块,合并了5个列。第二行是表格的5个标题。其余行是数据。我想将每个标题块的最大宽度作为列的宽度。

我尝试了mySheet.autoSizeColumn(colnum)mySheet.setColumnWidth(columnIndex, width)。对于AutosizeColumn存在问题,它会返回所有行中数据的最大宽度。因此,如果表格中某些数据的宽度更大,则表头的宽度也会变得非常大。 而对于第二种方法setColumnWidth,我需要知道标题单元格的宽度,以便将其设置到表格上。但如何找到特定单元格的宽度呢?我还没有找到解决方法。有任何想法吗?

1个回答

5
我建议使用一个我曾经使用过的简单解决方案。
在编写第二行即标题行后,使用一个条件并且使用AutosizeColumn()函数,可以根据标题宽度改变单元格宽度,然后宽度将保持不变。

1
最初我是在 xls 导出中进行操作的。但是当我使用 XSSF 表格时,它似乎不起作用。一旦导出表格,所有列都会被隐藏。 - om39a

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接