从解压缩的xml文件夹中重新创建excel .xlsx文件

时间:2016-10-19 19:12:56

标签: xml excel zip 7zip

我正在尝试将通过将excel文件解压缩到excel .xlsx中创建的xml文件夹进行转换。但我收到了错误

  

Microsoft Excel无法打开或修复工作簿,因为它已损坏

我想要重新创建的实际文件是使用Excel 2016创建的相当大的宏扩展.xlsm电子表格。我使用xml格式存档在git存储库中以提供版本控制。但是,从存档中恢复版本需要我可以撤消该过程。

生成此错误的最小可重现示例:

  1. 在Excel中创建新的空白电子表格
  2. 在单元格A1中输入“test”
  3. 另存为test.xlsx
  4. 将文件重命名为test.zip
  5. test.zip解压缩为名为test
  6. 的文件夹
  7. test压缩为test_new.zip
  8. test_new.zip重命名为test_new.xlsx
  9. 使用Excel打开test_new.xlsx
  10. 我正在使用Excel 2016.对于压缩和解压缩,我使用了7zip,WinZip和PeaZip,都具有相同的结果。

    我做错了什么,如何将解压缩的excel工作簿恢复为原始形式?

2 个答案:

答案 0 :(得分:4)

我最终设法找到了解决方案。关键是在创建新的zip文件时,只需将解压缩文件夹的内容添加到存档中。 整个文件夹本身!

答案 1 :(得分:0)

经过几个小时的努力,我发现使用 WinRAR(5.71 64 位)和 Office 2019(16.0.13426.20270 32 位)的解决方案是:

  1. 创建一个新的 excel 文件(例如 .xlsm)
  2. 将其扩展名更改为 .zip
  3. 将内容提取到您想要的任何文件夹
  4. 将内容(如 dww 建议的那样)添加到新的 WinRAR 存档中。为此,我选择了所有内容,右键单击并选择“添加到存档...”。
  5. 在 WinRAR 菜单和常规选项卡中,在存档格式下选择 ZIP
  6. 在 WinRAR 菜单和常规选项卡中,在压缩方法下选择“最快”
  7. 我没有更改任何其他参数,但这里有一些我拥有的默认值(以防您的默认值不同)。字典大小:32 kB,拆分成卷,大小:空白,更新模式:添加和替换文件,存档选项:未选择
  8. 为新的 .zip 文件选择您想要的任何名称
  9. 点击确定
  10. 将扩展名从 .zip 更改为 .xlsm
  11. 在 Excel 中打开新的 .xlsm 文件