When user tries to save an ODT file containing a table in DOCX format, the resultant file cannot be opened by Microsoft Office 2007. The Error Message reads: ============================================================================ The Office Open XML file SampleFile.docx cannot be opened because there are problems with the contents. Details -------------------------- System error: -2147467259. Location: Part: /word/document.xml, Line: 2, Column:724 ============================================================================
Created attachment 58926 [details] a problematic sample DOCX file
Created attachment 58927 [details] screenshot of error message
System error: -2147467259 is Unspecified Error (E_FAIL), which really does not tell us anything. The XML is well-formed. The offending instruction is <w:start w:color="000000" w:space="0" w:sz="2" w:val="single"/> and there does not seem to be anything wrong with it by itself. However, the tag does seem inappropriate for a border specification. Could you provide an equivalent document that Microsoft Word does open?
Created attachment 59018 [details] ODT file saved as DOC, opened by MS Word 2007, and saved as DOCX When the original ODT file is saved as DOC (instead od DOCX), MS Word 2007 does open it, but it fails to display any borders at all, although they are perfectly visible in Writer both in ODT and DOC formats.
Created attachment 59022 [details] ODT file saved as DOC, opened by MS Word 2007, and saved as DOCX Sorry, these attachment comments should swap places... And the comment below should actually be for the other file (bordered) ----------------------------------------------- When MS Word 2007 opens the DOC file without displaying its borders, it is possible to add borders and save it as DOCX, and then MS Word 2007 can open this DOCX file with borders visible.
This bug is no longer present in LibreOffice 3.5.3
So the issue here was that the OOXML standard understood by word 2007 requires borders on the left and right to be tagged as '<w:left>' and '<w:right>', while the newer OOXML standard uses '<w:start>' and '<w:end>'.