Skip to content

Conversation

@liugddx
Copy link
Member

@liugddx liugddx commented Nov 3, 2025

Related to #666

@liugddx
Copy link
Member Author

liugddx commented Nov 4, 2025

@delei PTAL

@delei delei requested a review from Copilot November 4, 2025 12:31
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a new HeaderMergeStrategy enum to provide fine-grained control over how Excel headers are merged during writing. The enhancement maintains backward compatibility with the existing automaticMergeHead parameter while offering more nuanced merge behaviors.

  • Adds HeaderMergeStrategy enum with five options: NONE, HORIZONTAL_ONLY, VERTICAL_ONLY, FULL_RECTANGLE, and AUTO
  • Refactors the header merge logic in ExcelWriteHeadProperty to support different merge strategies
  • Updates documentation in both English and Chinese to explain the new parameter and its usage

Reviewed Changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
fesod/src/main/java/org/apache/fesod/excel/enums/HeaderMergeStrategy.java New enum defining five merge strategies for header cells
fesod/src/main/java/org/apache/fesod/excel/write/property/ExcelWriteHeadProperty.java Refactored merge logic to support different strategies, added helper methods for validation
fesod/src/main/java/org/apache/fesod/excel/write/metadata/WriteBasicParameter.java Added headerMergeStrategy field to parameter class
fesod/src/main/java/org/apache/fesod/excel/write/metadata/holder/AbstractWriteHolder.java Added headerMergeStrategy field and backward compatibility logic
fesod/src/main/java/org/apache/fesod/excel/write/metadata/holder/WriteHolder.java Added headerMergeStrategy() method to interface
fesod/src/main/java/org/apache/fesod/excel/write/builder/AbstractExcelWriterParameterBuilder.java Added headerMergeStrategy() builder method
fesod/src/main/java/org/apache/fesod/excel/context/WriteContextImpl.java Updated to use new merge strategy parameter when initializing headers
fesod/src/test/java/org/apache/fesod/excel/head/HeaderMergeStrategyTest.java Comprehensive test coverage for all merge strategies
website/docs/write/head.md English documentation for the new feature
website/i18n/zh-cn/docusaurus-plugin-content-docs/current/write/head.md Chinese documentation for the new feature
website/docs/help/parameter.md Updated parameter reference in English
website/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/parameter.md Updated parameter reference in Chinese
Comments suppressed due to low confidence (1)

fesod/src/main/java/org/apache/fesod/excel/write/property/ExcelWriteHeadProperty.java:237

  • The parameter 'cellName' is never used.
            List<Head> headList, int row1, int row2, int startCol, int endCol, String cellName) {

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@psxjoy
Copy link
Member

psxjoy commented Nov 5, 2025

Very interesting PR,thanks @liugddx
I will handle in this week.

@psxjoy psxjoy self-requested a review November 5, 2025 07:14
@psxjoy psxjoy added the PR: reviewing Currently under active review. label Nov 5, 2025
@psxjoy
Copy link
Member

psxjoy commented Nov 12, 2025

Hi @liugddx , we have updated some package-name. Your PR is very useful,could you mind resolve these conflicts?

# Conflicts:
#	fesod/src/main/java/org/apache/fesod/sheet/context/WriteContextImpl.java
#	fesod/src/main/java/org/apache/fesod/sheet/enums/HeaderMergeStrategy.java
#	fesod/src/main/java/org/apache/fesod/sheet/write/builder/AbstractExcelWriterParameterBuilder.java
#	fesod/src/main/java/org/apache/fesod/sheet/write/metadata/WriteBasicParameter.java
#	fesod/src/main/java/org/apache/fesod/sheet/write/metadata/holder/AbstractWriteHolder.java
#	fesod/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteHolder.java
#	fesod/src/main/java/org/apache/fesod/sheet/write/property/ExcelWriteHeadProperty.java
#	fesod/src/test/java/org/apache/fesod/sheet/head/HeaderMergeStrategyTest.java
@liugddx
Copy link
Member Author

liugddx commented Nov 12, 2025

Hi @liugddx , we have updated some package-name. Your PR is very useful,could you mind resolve these conflicts?

Done.

Copy link
Member

@psxjoy psxjoy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@psxjoy
Copy link
Member

psxjoy commented Nov 17, 2025

If no one has any other views.I will merge this PR in 24 hours.

如果没人对此有其他的看法,我将在 24 小时内合并此 PR。感谢 @liugddx 的贡献:)

@psxjoy
Copy link
Member

psxjoy commented Nov 18, 2025

@liugddx I have submitted a PR(liugddx#1) to fix conflicts .
Please make sure If no any changes, merge that PR ,and we can carry on :)

Hi, 我发现还有些冲突,这不是你的问题。我已经在你的分支上提交了相关的PR。等冲突的PR解决后,我将合并这个PR :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR: reviewing Currently under active review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants