-
Notifications
You must be signed in to change notification settings - Fork 469
fix: fix hex impacting on xls and csv #470
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
1. add SXSSFCell checking, skip other cell 2. recreate escapeHex method for performance tuning 3. create relative unit test close: #364
There was a problem hiding this 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 optimizes the EscapeHexCellWriteHandler to improve performance and fix type checking issues that affected XLS and CSV file formats. The changes focus on preventing POI from automatically decoding hex-encoded strings in x[0-9A-Fa-f]{4} format by escaping them appropriately.
- Performance optimization through custom hex validation using lookup tables instead of regex
- Type checking fix to only process SXSSFCell instances (XLSX format)
- Comprehensive test coverage for various file formats and edge cases
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
| EscapeHexCellWriteHandler.java | Replaces regex-based hex processing with optimized manual parsing and adds SXSSFCell type checking |
| EscapeHexCellWriteHandlerTest.java | Adds comprehensive unit tests covering multiple file formats, edge cases, and validation scenarios |
fastexcel/src/main/java/cn/idev/excel/write/handler/EscapeHexCellWriteHandler.java
Show resolved
Hide resolved
fastexcel/src/main/java/cn/idev/excel/write/handler/EscapeHexCellWriteHandler.java
Show resolved
Hide resolved
fastexcel-test/src/test/java/cn/idev/excel/test/demo/write/EscapeHexCellWriteHandlerTest.java
Show resolved
Hide resolved
fastexcel-test/src/test/java/cn/idev/excel/test/demo/write/EscapeHexCellWriteHandlerTest.java
Show resolved
Hide resolved
fastexcel-test/src/test/java/cn/idev/excel/test/demo/write/EscapeHexCellWriteHandlerTest.java
Show resolved
Hide resolved
fastexcel-test/src/test/java/cn/idev/excel/test/demo/write/EscapeHexCellWriteHandlerTest.java
Show resolved
Hide resolved
|
As I understand, the expected result is not additional prefix "_x005F" and display String well, so no change on given test, resolve all. |
psxjoy
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Purpose of the pull request
Related: #364
What's changed?
fastexcel/src/main/java/cn/idev/excel/write/handler/EscapeHexCellWriteHandler.java
fastexcel-test/src/test/java/cn/idev/excel/test/demo/write/EscapeHexCellWriteHandlerTest.java
Checklist