自动宽度不适用于合并列

har*_*ode 5 apache-poi

{
row=sheet.createRow(0);
cell=row.createCell(0);
cell.setCellValue("header");
cell=row.createCell(1);
sheet.addMergedRegion(new CellRangeAddress(0,0,0,1));
row=sheet.createRow(1);
cell=row.createCell(0);
cell.setCellValue("Keys");
cell=row.createCell(1);
cell=row.setCellValue("Values");
row=sheet.createRow(2);
cell=row.createCell(0);
cell.setCellValue("No data");
cell=row.createCell(1);
sheet.addMergedRegion(new CellRangeAddress(1,1,0,1);
sheet.autoSizeColumn(0);
}
Run Code Online (Sandbox Code Playgroud)

当我合并两行第0行时,autosize正在工作,但在合并第二行的两列后,自动调整大小不起作用..提前感谢...

Gag*_*arr 11

我发现了你的问题,就是这条线:

sheet.autoSizeColumn(0);
Run Code Online (Sandbox Code Playgroud)

autoSizeColumn(int)上javadocs中我们可以看到以下关键信息:

默认是忽略合并的单元格.

您需要切换到调用autoSizeColumn(int,boolean),并传入一个true值.这将告诉POI在调整大小期间考虑合并的单元格.所以,你的代码应该是:

sheet.autoSizeColumn(0, true);
Run Code Online (Sandbox Code Playgroud)