Преобразование Windows XLSX в Mac XLSX

487
cognoscente

Я работаю над процессом, который берет данные от клиентов и анализирует их в нашем продукте. В этом случае файл 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 перестроить ту часть продукта, которая их читает. Мне нужно автоматизировать это, или это сведет меня с ума.

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

0
Вы пробовали распаковывать и перепаковывать файл? Ignacio Vazquez-Abrams 6 лет назад 1
Еще нет. Не уверен, как бы я понял порядок или сгенерировал файлы `docProps /`, которых нет в копии Windows. cognoscente 6 лет назад 0
Не делай больше работы, чем требуется. Начните с самой простой вещи. Ignacio Vazquez-Abrams 6 лет назад 1
Попробуйте docXConverter для Mac. Overmind 6 лет назад 0

1 ответ на вопрос

-1
Rajesh S

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

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

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

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

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

Вопрос про ПРОГРАММНО и БЕЗ ВРУЧНУЮ ОТКРЫТИЕ ... Máté Juhász 6 лет назад 0
Да @ MátéJuhász ,,, я знаю, что именно поэтому я упомянул в Bold сверху, что я показываю вам самый простой способ, конечно, не VBA. Требуется время, чтобы создать ,, проверить, а затем разместить здесь ,,. Мое решение должно рассматриваться как «Поддержка из первых рук», реальное будущее! :-) Rajesh S 6 лет назад 0
Я думаю, что мое решение не должно быть «Голосовать вниз», «. Преобразование формата файла в VBA - это ОЧЕНЬ ТРУДНО!» Подождите и посмотрите, сколько таких РЕШЕНИЙ появится здесь. :-) Rajesh S 6 лет назад 0
Помимо того, что я уже написал, вы также ответили на другой вопрос (преобразовать файл Excel на основе Win в Excel на основе Mac), в этом вопросе нет упоминания о Numbers. ОП просто хочет конвертировать в другой формат xls. «Я даю вам ответ на другой вопрос, предлагая метод, который вы уже пробовали» заслуживает downvote :( Máté Juhász 6 лет назад 0
@ MátéJuhász ,,, Для вашего знания ,, позвольте мне напомнить, что "NUMBER" - это название программного обеспечения для электронных таблиц, которое MAC использует, например, EXCEL для ОС Windows ,,! Надеюсь, теперь вы поняли и поняли свою ошибку !! Rajesh S 6 лет назад 0