-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Drop-down list items are not XML escaped #971
Labels
confirmed
This issue can be reproduced
Comments
xuri
added
confirmed
This issue can be reproduced
in progress
Working in progress
labels
Jul 28, 2021
Thanks for your feedback, I have fixed it, please try to use the master branch code, and this patch will be released in the next version. |
xuri
pushed a commit
that referenced
this issue
Jul 30, 2021
* Fix `SetDropList` to allow XML special characters * This closes #971, allow quotation marks in SetDropList() This patch included a XML entity mapping table instead of xml.EscapeText() to be fully compatible with Microsoft Excel. * This closes #972, allow more than 255 bytes of validation formulas This patch changed the string length calculation unit of data validation formulas from UTF-8 bytes to UTF-16 code units. * Add unit tests for SetDropList() * Fix: allow MaxFloat64 to be used in validation range 17 decimal significant digits should be more than enough to represent every IEEE-754 double-precision float number without losing precision, and numbers in this form will never reach the Excel limitation of 255 UTF-16 code units.
jenbonzhang
pushed a commit
to jenbonzhang/excelize
that referenced
this issue
Oct 22, 2023
- Escape XML character in the drop list - Fix incorrect character count limit in the drop list - Fix Excel time parse issue in some case - Fix custom number format month parse issue in some case - Fix corrupted file generated caused by concurrency adding pictures
jenbonzhang
pushed a commit
to jenbonzhang/excelize
that referenced
this issue
Oct 22, 2023
* Fix `SetDropList` to allow XML special characters * This closes qax-os#971, allow quotation marks in SetDropList() This patch included a XML entity mapping table instead of xml.EscapeText() to be fully compatible with Microsoft Excel. * This closes qax-os#972, allow more than 255 bytes of validation formulas This patch changed the string length calculation unit of data validation formulas from UTF-8 bytes to UTF-16 code units. * Add unit tests for SetDropList() * Fix: allow MaxFloat64 to be used in validation range 17 decimal significant digits should be more than enough to represent every IEEE-754 double-precision float number without losing precision, and numbers in this form will never reach the Excel limitation of 255 UTF-16 code units.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Description
If any of the XML special characters
<
,>
,&
,"
were used inSetDropList()
choices, the produced file will be reported as corrupted.Steps to reproduce the issue:
Describe the results you received:
Describe the results you expected:
Output of
go version
:Excelize version or commit ID:
Environment details (OS, Microsoft Excel™ version, etc.):
The following official implementation were tested, and all of them could reproduce this issue:
The following third-party implementations were also tested, but none of them was affected by the issue:
The text was updated successfully, but these errors were encountered: