Konvertieren eines Windows-Xlsx in einen Mac-Xlsx

551
cognoscente

Ich arbeite an einem Prozess, bei dem Daten von Kunden erfasst und in unser Produkt geparst werden. In diesem Fall eine xlsx-Datei. Leider hat unser Produkt Probleme beim Lesen, da es für das Lesen von in Excel für Mac erstellten Xlsx-Dateien anstelle von Excel für Windows kodiert wurde und unsere Kunden Windows verwenden.

Ich beschäftige mich noch immer damit, aber soweit ich die Unterschiede erkennen kann, sind MIME-Typen und die Organisation der in der xlsx-Datei archivierten XML-Daten beteiligt:

Hier ist ein Screenshot von zwei Dateien mit identischen Daten, eine lokal auf einem Mac und eine auf einem Windows-Computer.

Hier sind die Ergebnisse eines fileBefehls:

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 

Und das geben sie Ihnen, wenn Sie sie aus dem Archiv auslagern (diese Ergebnisse sind bei mehreren Versuchen konsistent):

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 

Nachdem ich eine Menge googeln wollte, glaubt dieser Thread, dass die Reihenfolge, in der die Dateien hinzugefügt werden, ebenfalls einen Unterschied machen kann.

Meine Frage ist, gibt es eine Möglichkeit, eine "Win-basierte" Excel-Datei programmgesteuert in eine "Mac-basierte" Excel-Datei zu konvertieren, ohne die Datei manuell öffnen und erneut speichern zu müssen? Idealerweise im Terminal? Ich kann keine vorhandenen Werkzeuge finden. Als Mittelsmann-Sysadmin / Ops-Typ bin ich nicht in der Lage, den Kunden zu bitten, diese unter macOS zu generieren, und ich bin nicht in der Lage, Dev zu bitten, den Teil des Produkts neu zu erstellen, der diese Informationen liest. Ich muss das automatisieren oder es wird mich verrückt machen.

Vielen Dank für jede Hilfe, die Sie geben können.

0
Haben Sie versucht, die Datei auszupacken und neu zu packen? Ignacio Vazquez-Abrams vor 6 Jahren 1
Noch nicht. Ich bin nicht sicher, wie ich die Bestellung richtig machen würde, oder generiere die `docProps /` -Dateien, die in der Windows-Kopie nicht vorhanden sind. cognoscente vor 6 Jahren 0
Machen Sie nicht mehr Arbeit als nötig. Beginnen Sie mit der einfachsten Sache. Ignacio Vazquez-Abrams vor 6 Jahren 1
Versuchen Sie docXConverter für Mac. Overmind vor 6 Jahren 0

1 Antwort auf die Frage

-1
Rajesh S

Ich zeige die einfachste Methode und wird Ihnen helfen, die .Xls-, .Xlsx- und sogar die .CSV-Datei von Windows in Mac-Nummern (Spreadsheet) zu konvertieren.

  1. Laden Sie die Zahlen.
  2. Navigieren Sie zum Speicherort Ihrer Excel-Datei. Sie können auch auf das Menü Datei klicken und Öffnen wählen und dann zu Ihrer Tabelle navigieren.
  3. Wenn Sie die Datei gefunden haben, wählen Sie sie aus und klicken Sie auf Öffnen. Ein Fortschrittsfenster wird angezeigt.
  4. Möglicherweise wird ein Fenster angezeigt, in dem alle während des Importvorgangs vorgenommenen Änderungen erläutert werden.

Hinweis: Die Möglichkeit besteht darin, dass eine Änderung vorgenommen werden musste. Je einfacher die Kalkulationstabelle ist, desto mehr ähnelt Ihre Datei der in Excel erstellten Datei.

Jetzt sollte die Excel-Datei in Numbers auf MAC geöffnet werden.

Hoffe das hilft dir.

Die Frage ist PROGRAMMATISCH UND OHNE MANUELL ERÖFFNEN ... Máté Juhász vor 6 Jahren 0
Yeah @ MátéJuhász ,, Ich weiß, das ist der Grund, warum ich oben in Bold erwähnt habe, dass ich Ihnen zeige, dass Sie die einfachste Methode sind. Natürlich ist es keine VBA. Es braucht Zeit, um ,, Test und dann hier posten "zu erstellen. Meine Lösung muss als "First-Hand-Support" betrachtet werden. :-) Rajesh S vor 6 Jahren 0
Ich denke, meine Lösung sollte nicht abstimmen, das Konvertieren des Dateiformats in VBA ist eine harte Nuss, die zu knacken ,,,,,! Warten Sie und sehen Sie, wie viele solcher LÖSUNGEN hier erscheinen werden. :-) Rajesh S vor 6 Jahren 0
Abgesehen von dem, was ich bereits geschrieben habe, haben Sie auch eine andere Frage beantwortet (konvertieren Sie eine "Win-basierte" Excel-Datei in eine "Mac-basierte" Excel-Datei). Zahlen werden in der Frage nicht erwähnt. OP möchte einfach in ein anderes xls-Format konvertieren. "Ich gebe Ihnen eine Antwort auf eine andere Frage und schlage eine Methode vor, die Sie bereits ausprobiert haben" verdient Downvote :( Máté Juhász vor 6 Jahren 0
@ MátéJuhász ,,, Für Ihr Wissen ,, möchte ich daran erinnern, dass "NUMBER" der Name der Spreadsheet-Software ist, was MAC wie EXCEL für Windows OS verwendet ,,! Hoffe jetzt hast du den Punkt verstanden und erkenne deinen Fehler !! Rajesh S vor 6 Jahren 0