https://bz.apache.org/bugzilla/show_bug.cgi?id=57008

--- Comment #13 from Matthias Gerth <[email protected]> ---
I've written an escape function as a workaround.
https://stackoverflow.com/questions/48222502/xssfcell-in-apache-poi-encodes-certain-character-sequences-as-unicode-character

So my use case is this: I need to store a string containing "_x24B8_" into an
excel file. This is user input and I can not prevent this. The setValue
function on XSSFCell has one parameter of type java.lang.String. Java string
does not use microsoft encoding to represent unicode character.

So this happens
1. String value = "_x24B8_";
2. String valueEscaped = escape(value); // "_x005F_x24B8_"
3. cell.setValue(valueEscaped) // cell.value is now "_x24B8_"
4. once the file is written is changes back to "_x005F_x24B8_" in the file

I think setValue should not call XSSFRichTextString.utfDecode(). This would
prevent this back and forth encoding.
We could also make XSSFRichTextString.utfDecode() a public for people who are
using this type of encoding. I would prefer this microsoft encoding terminated
within the library since it is specific to the office file format.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to