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

recreate excel .xlsx file from unzipped xml folder

我正在尝试将通过解压缩 excel 文件创建的 xml 文件夹转换回 excel .xlsx。但是我得到错误

The workbook cannot be opened or repaired by Microsoft Excel because it is corrupt

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

  1. 在 Excel
  2. 中创建一个新的空白电子表格
  3. 在单元格 A1 中输入“测试”
  4. 另存为test.xlsx
  5. 将文件重命名为 test.zip
  6. test.zip 解压缩为名为 test
  7. 的文件夹
  8. test压缩成test_new.zip
  9. test_new.zip 重命名为 test_new.xlsx
  10. 用Excel
  11. 打开test_new.xlsx

对于压缩和解压缩,我使用了 7zip、WinZip 和 PeaZip,结果都相同。我做错了什么,我怎样才能将解压缩的 excel 工作簿恢复到原来的形式?

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

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

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