Bug 46677 - FILEOPEN: Warn user about Excel tampering
Summary: FILEOPEN: Warn user about Excel tampering
Status: RESOLVED NOTABUG
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
3.5.0 release
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard: BSA
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-27 04:29 UTC by Egil Hansen
Modified: 2014-11-12 00:36 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
Sample .ods saved by Excel 2010 (3.38 KB, application/vnd.oasis.opendocument.spreadsheet)
2012-02-27 05:51 UTC, Egil Hansen
Details
Initial File (13.58 KB, application/vnd.oasis.opendocument.spreadsheet)
2014-11-11 18:10 UTC, Alberto Ferreira
Details
Final Files (9.48 KB, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
2014-11-11 18:11 UTC, Alberto Ferreira
Details
Microsoft Office Error message (38.91 KB, application/vnd.oasis.opendocument.text)
2014-11-11 18:12 UTC, Alberto Ferreira
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Egil Hansen 2012-02-27 04:29:20 UTC
By design Excel 2007 and 2010 now opens .ods files, and quietly and deliberately destroys any formulas and replace them with their result value. 

This makes it very dangerous for an organization that has standardized on .odf, to allow a user with Microsoft Office 2007 or 2010 to access their files. 

The Excel user may not notice that the spreadsheet is not functioning, since it looks "normal", so he may enter different values in the document, and not understand that Excel is not preforming calculations. 

This we can not prevent, and it has to be granted the responsibility of the Excel user.  

However, if he saves the .ods it will render the spreadsheet unusable also to all the LibreOffice users. And they will now have the same risk of believeing that their .ods file is working.

To prevent this I would like to suggest the following feauture to LibreOffice Calc:

When opening a .ods document LO should examine content.xml for signs of the file beeing "sabotaged" by Excel. 

By testing I have found that such an ods will containg the text:

xmlns:msoxl="http://schemas.microsoft.com/office/excel/formula">

inside content.xml. 

This is a sign that the file has been saved by Excel, and is a strong indicator to the suspicion that the file contains no formulas. 

If the text above is found in a .ods LO should give a warning like : 

"This file has been edited by Excel and have lost it's formulas". 

Or something similar.

This may not be the best way to do it, but it would help on the way.
Comment 1 Olav Dahlum 2012-02-27 05:44:55 UTC
I would go for something neutral in messages … Egil, a «destroyed» file might be a good attachment for others too look at.
Comment 2 Egil Hansen 2012-02-27 05:51:32 UTC
Created attachment 57717 [details]
Sample .ods saved by Excel 2010
Comment 3 Egil Hansen 2012-02-27 05:53:19 UTC
Enclosed is an example .ods file saved by Excel 2010. 

Originally it had the value 6 in A1, 7 in A2 and =A1*A2 in A3.

After Excel "treatment" the content of A3 is... 42.
Comment 4 Alberto Ferreira 2014-11-11 18:10:55 UTC
Created attachment 109290 [details]
Initial File
Comment 5 Alberto Ferreira 2014-11-11 18:11:28 UTC
Created attachment 109291 [details]
Final Files
Comment 6 Alberto Ferreira 2014-11-11 18:12:11 UTC
Created attachment 109293 [details]
Microsoft Office Error message
Comment 7 Urmas 2014-11-11 23:05:09 UTC
Or—surprise!—It could be a document WITH formulas created by Excel!
Your suggestion is rather absurd.
Comment 8 Alberto Ferreira 2014-11-11 23:41:20 UTC
This is a document created in Libreoffice 4.3.3 and open in Microsoft Excel 2010.
Then saved in xls files to ilustrate the error.

The error is generate in Microsoft Excel when opening ods files. Microsoft shold resolve this error.

Can anyone in TDF talk with microsft and ai to solve this error.....
Comment 9 Urmas 2014-11-12 00:36:06 UTC
Excel 2010 does not support OpenFormula syntax.