File tree Expand file tree Collapse file tree 2 files changed +14
-6
lines changed
i18n/zh-cn/docusaurus-plugin-content-docs/current/write Expand file tree Collapse file tree 2 files changed +14
-6
lines changed Original file line number Diff line number Diff line change @@ -186,9 +186,13 @@ Custom merge strategy
186186``` java
187187public 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```
Original file line number Diff line number Diff line change @@ -186,9 +186,13 @@ public class DemoMergeData {
186186``` java
187187public 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```
You can’t perform that action at this time.
0 commit comments