【问题标题】:Set a specific cell width to column in XSSF Apache POI在 XSSF Apache POI 中将特定单元格宽度设置为列
【发布时间】:2014-01-20 16:50:45
【问题描述】:

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

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

我试过mySheet.autoSizeColumn(colnum)mySheet.setColumnWidth(columnIndex, width)AutosizeColumn 的问题,它返回所有行中数据的最高宽度。因此,如果表格中某些数据的宽度更大,则表头宽度变得非常大。 对于第二个setColumnWidth,我需要知道标题单元格的宽度,以便将其设置到工作表中。但是如何找到特定单元格的宽度?在弄清楚如何做这件事上还没有运气。有什么想法吗?

【问题讨论】:

    标签: java apache-poi xlsx xssf


    【解决方案1】:

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

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

    【讨论】:

    • 最初我是在 xls 导出中这样做的。但是当我使用 XSSF 表时,它似乎不起作用。导出工作表后,所有列都将被隐藏。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多