将 Windows xlsx 转换为 Mac xlsx

将 Windows xlsx 转换为 Mac xlsx

我正在开发一个流程,从客户那里获取数据并将其解析到我们的产品中。在本例中,是一个 xlsx 文件。不幸的是,我们的产品无法读取它,因为它被编码为读取在 Excel for Mac 而不是 Excel for Windows 中创建的 xlsx 文件,而我们的客户使用的是 Windows。

我仍在深入研究这个问题,但据我所知,差异涉及 MIME 类型和存档到 xlsx 文件中的 XML 数据的组织:

以下是截图两个具有相同数据的文件,一个文件本地保存在 Mac 上,另一个文件保存在 Windows 机器上。

以下是命令的结果file

user@MBP:~/Desktop/win_vs_mac$ file *
mac_origin.xlsx: Microsoft Excel 2007+
win_origin.xlsx: Zip archive data, at least v2.0 to extract
user@MBP:~/Desktop/win_vs_mac$ file -I *
mac_origin.xlsx: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=binary
win_origin.xlsx: application/zip; charset=binary

当您取消存档时,他们会给您以下结果(这些结果是在多次尝试中一致的):

user@MBP:~/Desktop/win_vs_mac$ unzip mac_origin.xlsx
Archive:  mac_origin.xlsx
  inflating: [Content_Types].xml
  inflating: _rels/.rels
  inflating: xl/_rels/workbook.xml.rels
  inflating: xl/workbook.xml
  inflating: xl/sharedStrings.xml
  inflating: xl/theme/theme1.xml
  inflating: xl/styles.xml
  inflating: xl/worksheets/sheet1.xml
  inflating: docProps/core.xml
  inflating: docProps/app.xml
user@MBP:~/Desktop/win_vs_mac$ unzip win_origin.xlsx
Archive:  win_origin.xlsx
warning:  win_origin.xlsx appears to use backslashes as path separators
  inflating: _rels/.rels
  inflating: [Content_Types].xml
  inflating: xl/workbook.xml
  inflating: xl/sharedStrings.xml
  inflating: xl/styles.xml
  inflating: xl/worksheets/sheet0.xml
  inflating: xl/_rels/workbook.xml.rels

在谷歌搜索了一番之后,此主题让我相信添加文件的顺序也可能会有所不同。

我的问题是,有没有一种方法可以以编程方式将“基于 Win”的 Excel 文件转换为“基于 Mac”的 Excel 文件,而无需手动打开文件并重新保存?最好在终端中?我找不到任何现有工具。作为中间人系统管理员/操作人员,我无法要求客户在 macOS 上生成这些文件,也无法要求开发人员重建读取这些文件的产品部分。我需要使其自动化,否则我会发疯的。

感谢您提供的任何帮助。

答案1

我展示了最简单的方法,它将帮助您将 Windows 的 .Xls、.Xlsx 甚至 .CSV 文件转换为 Mac Numbers(电子表格)。

  1. 加载数字。
  2. 导航到 Excel 文件的位置。您也可以点击文件菜单并选择打开,然后导航到电子表格。
  3. 找到文件后,选择它并点击“打开”。将出现一个进度窗口。
  4. 可能会出现一个窗口,解释导入过程中所做的任何更改。

注意: 有可能必须做出改变。电子表格越简单,您的文件就越像您在 Excel 中创建的文件。

现在 Excel 文件应该在 MAC 上的 Numbers 中打开。

希望这对你有帮助。

相关内容