Skip to content

Commit 2e8d25a

Browse files
X-qinghaipsxjoy
andauthored
docs: Update merged cells English documentation (#599)
* docs: Update merged cells English documentation --------- Co-authored-by: Shuxin Pan <[email protected]>
1 parent 9f3df22 commit 2e8d25a

File tree

2 files changed

+14
-6
lines changed
  • website
    • docs/write
    • i18n/zh-cn/docusaurus-plugin-content-docs/current/write

2 files changed

+14
-6
lines changed

website/docs/write/extra.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -186,9 +186,13 @@ Custom merge strategy
186186
```java
187187
public class CustomMergeStrategy extends AbstractMergeStrategy {
188188
@Override
189-
protected void merge(Sheet sheet, WriteSheetHolder writeSheetHolder) {
190-
// Custom merge rules
191-
sheet.addMergedRegion(new CellRangeAddress(1, 2, 0, 1)); // Example merge range
189+
protected void merge(Sheet sheet, Cell cell, Head head, Integer relativeRowIndex) {
190+
// merge method will be called for each cell, ensuring that the same cell is merged only once
191+
if (relativeRowIndex != null && relativeRowIndex % 2 == 0 && head.getColumnIndex() == 0) {
192+
int startRow = relativeRowIndex + 1; // Row 0 is the header, data starts from row 1
193+
int endRow = startRow + 1; // Merge current row and next row
194+
sheet.addMergedRegion(new CellRangeAddress(startRow, endRow, 0, 0));
195+
}
192196
}
193197
}
194198
```

website/i18n/zh-cn/docusaurus-plugin-content-docs/current/write/extra.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -186,9 +186,13 @@ public class DemoMergeData {
186186
```java
187187
public class CustomMergeStrategy extends AbstractMergeStrategy {
188188
@Override
189-
protected void merge(Sheet sheet, WriteSheetHolder writeSheetHolder) {
190-
// 自定义合并规则
191-
sheet.addMergedRegion(new CellRangeAddress(1, 2, 0, 1)); // 示例合并范围
189+
protected void merge(Sheet sheet, Cell cell, Head head, Integer relativeRowIndex) {
190+
// merge方法会为每个单元格都调用一次,确保相同单元格只执行一次合并
191+
if (relativeRowIndex != null && relativeRowIndex % 2 == 0 && head.getColumnIndex() == 0) {
192+
int startRow = relativeRowIndex + 1; // 第0行是表头,数据从第1行开始
193+
int endRow = startRow + 1; // 合并当前行和下一行
194+
sheet.addMergedRegion(new CellRangeAddress(startRow, endRow, 0, 0));
195+
}
192196
}
193197
}
194198
```

0 commit comments

Comments
 (0)