加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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文件的存档?
>如果我不能将xml文件压缩成zip文件并将其扩展名设置为xlsx,那么如何以编程方式创建有效的xlsx文件?

回答你的问题:

> XLSX只是zip容器中的XML文件的集合。没有其他的魔法。
>如果您解压缩/解压缩有效的XLSX文件,然后重新压缩/压缩,并且您无法读取生成的输出,那么使用压缩软件的问题。尝试一个不同的库/实用程序或检查它使用的默认压缩类型和级别,并尝试匹配到任何Excel使用。或者检查zip文件以确保目录结构得到维护。

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读