KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to programmatically modify an excel file (xlsx). I can successfully decompress, modify the xml as needed, and re-compress. However, i'm getting a warning everytime i open excel, even though it does read the file. I believe the error is due to the compression method used. This is an example of the closest I can get: Decompress 7z x original.xlsx -o./decomp_xlsx ..Do some stuff.. Compress 7z a -tzip new ./decomp_xlsx/* Rename mv ./new.zip ./new.xlsx The Error i get is: Excel found unreadable content in 'new.xlsx'. Do you want to recover the contents of this workbook? If you trust the source of this workbook, click Yes. From ECMA-376-2 Office Open Formats Part 2 (Packaging Conventions) The compression algorithm supported is DEFLATE, as described in the .ZIP specification. The package implementer shall not use any compression algorithm other than DEFLATE. So, what switches do i need to use in 7z or other linux compatible program to get the job done without the warning? I've tried dropping the -tzip and using -m0=COPY, but excel can't even recover from that one. So here's the result of the zip program and zipinfo. I'm guessing i'm not going to find a tool to do this, other than the one provided below, so i'm going to award that answer, and see if i can find someone to translate to python for testing. I"m not sure it handles the differences between the 4.5 / 3.0, then b- / tx or the defS / defF though. $ zipinfo original.xlsx Archive: original.xlsx Zip file size: 228039 bytes, number of entries: 20 -rw---- 4.5 fat 1969 b- defS 80-Jan-01 00:00 [Content_Types].xml -rw---- 4.5 fat 588 b- defS 80-Jan-01 00:00 _rels/.rels -rw---- 4.5 fat 1408 b- defS 80-Jan-01 00:00 xl/_rels/workbook.xml.rels -rw---- 4.5 fat 908 b- defS 80-Jan-01 00:00 xl/workbook.xml -rw----
Tags (comma-separated)
Save Edits
Cancel