我正在尝试在iOS上以编程方式创建xlsx文件.由于xlsx文件的内部数据基本上存储在单独的xml文件中,因此我尝试使用其所有文件和子目录重新创建xlsx结构,将它们压缩为zip文件并将其扩展名设置为xlsx.我使用GDataXML解析器/编写器来创建所有必需的xml文件.但是,我得到的文件无法作为xlsx文件打开.即使我从有效的xlsx文件中删除所有数据,也可以通过从原始xml文件复制数据并手动压缩来手动创建所有xml文件,但我无法重新创建有效的xlsx文件.
问题是:
jmc*_*ara 63
在回答你的问题时:
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
...
Run Code Online (Sandbox Code Playgroud)
我经常解压缩XLSX文件,对测试进行微小的更改并重新压缩它们没有任何问题.
更新:重要的是避免压缩父目录.以下是zip在Linux或OS X上使用系统实用程序的示例:
# 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
Run Code Online (Sandbox Code Playgroud)
Dav*_*vid 32
如果我将xlsx文件解压缩到一个文件夹然后再次重新压缩它,则xlsx会损坏/无法识别.在我的情况下,原因是我的zip工具使用文件夹名称作为zip中每个文件的相对路径的第一级.
我通过在xlsx内容的文件夹中创建一个空的zip文件,然后将所有文件和文件夹添加到它来解决了这个问题.
实际上,如果您尝试压缩文件夹本身,该文件不是有效的xlsx.您应该进入文件夹,选择所有内容,然后右键单击&zip.
| 归档时间: |
|
| 查看次数: |
32487 次 |
| 最近记录: |