http://bugs.winehq.org/show_bug.cgi?id=34110
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |msxml3
--- Comment #1 from Nikolay Sivov bunglehead@gmail.com 2013-07-22 02:59:07 CDT --- Hi, Luca.
This is very likely a msxml3 bug, you could try to 'winetricks msxml3 msxml6' to confirm that.
I suspect the problem is in how libxml2 reports attribute values. Document has the following for sheet name:
--- <sheet name="a & b" sheetId="1" r:id="rId1"/> ---
and libxml2 has explicit check for '&' entity in xmlParseAttValueComplex():
--- if ((ctxt->replaceEntities == 0) && (ent->content[0] == '&')) { buf[len++] = '&'; buf[len++] = '#'; buf[len++] = '3'; buf[len++] = '8'; buf[len++] = ';'; } else { buf[len++] = ent->content[0]; } ---
meaning that for parsed entity reference that represents '&' it does substitution that results in attribute value you got in Excel.
I'll take a look what could be done there.