Я работаю над процессом, который берет данные от клиентов и анализирует их в нашем продукте. В этом случае файл xlsx. К сожалению, у нашего продукта возникли проблемы с его чтением, поскольку он был закодирован для чтения файлов xlsx, созданных в Excel для Mac вместо Excel для Windows, и наши клиенты используют Windows.

Я все еще копаюсь в этом, но, насколько я могу судить, различия касаются типов MIME и организации данных XML, заархивированных в файл xlsx:

Вот снимок экрана двух файлов с одинаковыми данными, один из которых сохранен локально на 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

После тонны поисков в Google эта тема заставляет меня поверить, что порядок добавления файлов также может иметь значение.

У меня вопрос, есть ли способ программно преобразовать файл Excel на основе Win в файл Excel на основе Mac, не открывая файл и не сохраняя его вручную? Идеально в Терминале? Я не могу найти какие-либо существующие инструменты. Как посредник типа sysadmin/ops, я не в состоянии попросить клиента сгенерировать их в macOS, и я не в состоянии попросить Dev перестроить ту часть продукта, которая их читает. Мне нужно автоматизировать это, или это сведет меня с ума.

Спасибо за любую помощь, которую вы можете оказать.

1 ответ1

-1

Я показываю самый простой метод, и он поможет вам конвертировать окна.Xls,.Xlsx и даже.CSV файл в Mac Numbers(электронная таблица).

  1. Загрузите номера.
  2. Перейдите к местоположению вашего файла Excel. Вы также можете нажать на меню «Файл» и выбрать «Открыть», а затем перейти к электронной таблице.
  3. Найдя файл, выберите его и нажмите «Открыть». Появится окно прогресса.
  4. Может появиться окно с объяснением любых изменений, которые были сделаны в процессе импорта.

NB: Возможно, что изменение должно быть сделано.Чем проще электронная таблица, тем больше ваш файл будет напоминать то, что вы создали в Excel.

Теперь файл Excel должен открыться в Numbers на MAC.

Надеюсь, это поможет вам.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .