gpt4 book ai didi

java - 无法在 POI 中添加两个合并区域?

转载 作者:行者123 更新时间:2023-12-01 23:52:31 24 4
gpt4 key购买 nike

我正在尝试在一行中添加两个合并区域,如下所示:

// Cell Range Address
CellRangeAddress cellRangeAddress_1 = new CellRangeAddress(0, 0, 3, 6);
CellRangeAddress cellRangeAddress_2 = new CellRangeAddress(0, 0, 7,9);

// Creating cells
cell = row.createCell(3); // 1
cell.setCellStyle(headingStyle);
cell.setCellValue("CoLUMN 1");

cell = row.createCell(4); // 2
cell.setCellStyle(headingStyle);
cell.setCellValue("COLUMN 2");

第一列被合并并显示“COLUMN 1”。第二列已合并,但文本未显示!

是我做错了还是这是一个错误?我正在使用 Apache POI 3.7。

最佳答案

您没有正确显示“COLUMN 2”。您正在创建两个单元格值,并可能稍后调用 addMergedRegion 来合并单元格。但是,当存在合并区域时,它不会影响其合并的单元格的内容。

您的第一个合并区域 (0, 0, 3, 6) 代表第一行 (D1:G1) 中的单元格 3 到 6,其中覆盖了您创建的两个单元格。 Excel 将仅显示合并区域中左上角单元格的内容,因此仅显示“COLUMN 1”。 “COLUMN 2”不会被移开。内容就在那里,但在 Excel 中查看时合并区域将其隐藏。

您的第二个合并区域 (0, 0, 7, 9) 代表第一行 (H1:J1) 中的单元格 7 到 9,但根据您提供的代码,其中没有任何内容。

我怀疑您希望第一个合并区域中的“COLUMN 1”和第二个合并区域中的“COLUMN 2”。文本“COLUMN 1”已正确位于第一个合并区域中。您只需将第二个单元格的列索引更改为 7 即可。

cell = row.createCell(7); // 2

关于java - 无法在 POI 中添加两个合并区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16147787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com