java - 使用 poi 自动调整列宽

标签 java excel apache-poi

我正在使用 POI 将数据附加到现有的 excel。但是在附加数据时,在编辑之前已经存在的 excel 标题被压缩到小区域。有人可以建议我如何避免这种情况吗?我什至在附加数据后应用了 autoSize,但没有用。

FileInputStream inputStream = new FileInputStream(new File("dataexcel.xlsx"));

    XSSFWorkbook workbook = new XSSFWorkbook(intputStream);
    XSSFSheet sheet = workbook.getSheetAt(0);
    int rowNum = sheet.getPhysicalNumberOfRows();

                    int cellNum = 1;
                    Row lastRow = sheet.createRow(rowNum);

    for(int i =0 ; i<7; i++)
    {
                    Cell cell = lastRow.createCell(cellNum++);
                    cell.setCellValue(value);
                    cell.setCellStyle(generalStyle);
    }

假设标题有一个长文本,如 "This is very long text" 并将 7 个值 (2,3,1,7,4,6​​,5) 附加到现有的 excel 中每个单元格到下一行,如上所示。然后,enitre 列的宽度缩小到这些单个数字的值,并且标题的文本几乎不可见,直到手动展开。

最佳答案

使用 autoSizeColumn() 方法?

您的工作表示例如下

+----------+----------+----------+-------------+
| Column A | Column B | Column C | Column D    |
+----------+----------+----------+-------------+
|   xxx    |    xxx   |This is very long text  |
|          |          |          |             |
+----------+----------+----------+-------------+

如果是这样,为 Column c 设置自动列大小,sheet.autoSizeColumn(2);。结果将是

+----------+----------+------------------------+-------------+
| Column A | Column B | Column C               | Column D    |
+----------+----------+------------------------+-------------+
|   xxx    |    xxx   |This is very long text                |
|          |          |                        |             |
+----------+----------+------------------------+-------------+

关于java - 使用 poi 自动调整列宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22004483/

相关文章:

java - 正确打印servlet异常的stacktrace

Java Web Start (JNLP) 加载消息

excel - 如何将VBA代码应用到工作簿中的所有工作表

java - 使用 java、Apache POI 每 3 列后在 Excel 中创建列标题

java - Java 中的 Excel 格式设置

java - 将 Gradle 添加到 Java 项目 "Exception ... java.lang.NoClassDefFoundError"

java - ElasticSearch 开销超过 Lucene + 自定义集群解决方案

c# - 打开xml excel 在占位符中插入实际值

excel - 检查 MS Excel 中的两行是否完全相同

java - 使用 apache poi 从 Excel 读取下拉列表内容