xml – 如何从其内部子组件正确组合一个有效的xlsx文件?
发布时间:2020-12-16 08:04:42 所属栏目:百科 来源:网络整理
导读:我试图在iOS上以编程方式创建一个xlsx文件。由于xlsx文件的内部数据基本存储在单独的xml文件中,我尝试重新创建具有所有文件和子目录的xlsx结构,将其压缩成zip文件并将其扩展名设置为xlsx。我使用GDataXML解析器/ writer来创建所有必需的xml文件。但是,我
我试图在iOS上以编程方式创建一个xlsx文件。由于xlsx文件的内部数据基本存储在单独的xml文件中,我尝试重新创建具有所有文件和子目录的xlsx结构,将其压缩成zip文件并将其扩展名设置为xlsx。我使用GDataXML解析器/ writer来创建所有必需的xml文件。但是,我收到的文件无法打开为xlsx文件。即使我从有效的xlsx文件中撕下所有数据,也可以通过从原始xml文件复制数据并手动压缩来手动创建所有xml文件,但是我无法重新创建一个有效的xlsx文件。
问题是: > xlsx真的只是一个包含xml文件的存档?
回答你的问题:
> XLSX只是zip容器中的XML文件的集合。没有其他的魔法。 xlsx文件的内容示例: unzip -l example.xlsx Archive: example.xlsx Length Date Time Name -------- ---- ---- ---- 769 10-15-14 09:23 xl/worksheets/sheet1.xml 550 10-15-14 09:22 xl/workbook.xml 201 10-15-14 09:22 xl/sharedStrings.xml ... 我经常解压缩XLSX文件,进行微小的更改以进行测试,并重新压缩它们,而不会有任何问题。 更新:重要的是避免压缩父目录。以下是在Linux或OS X上使用zip系统实用程序的示例: # Unzip an xlsx file into a directory. unzip example.xlsx -d newdir # Make some valid changes to the files. cd newdir/ vi xl/worksheets/sheet1.xml # Rezip the files *FROM* the unzipped directory. # Note: you could also re-zip to the original file if required. find . -type f | xargs zip ../newfile.xlsx # Check the file looks okay. cd .. unzip -l newfile.xlsx xdg-open newfile.xlsx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |