Convertendo um xlsx do Windows em um xlsx do Mac

0

Estou trabalhando em um processo que coleta dados de clientes e os analisa em nossos produtos. Nesse caso, um arquivo xlsx. Infelizmente, nosso produto está com problemas para lê-lo porque foi codificado para ler arquivos xlsx criados no Excel para Mac em vez do Excel para Windows, e nossos clientes estão usando o Windows.

Ainda estou investigando isso, mas, até onde posso dizer, as diferenças envolvem os tipos MIME e a organização dos dados XML arquivados no arquivo xlsx:

Aqui está uma captura de tela de dois arquivos com dados idênticos, um salvo localmente em um Mac e outro em uma máquina Windows.

Veja os resultados de um comando 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

E aqui está o que eles oferecem quando você desarquivá-los (esses resultados são consistentes em várias tentativas):

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

Depois de fazer muitas pesquisas, este tópico me leva a acreditar que a ordem em que os arquivos foram adicionados pode fazer a diferença também.

A minha pergunta é, existe uma maneira de converter programaticamente um arquivo do Excel "baseado em Win" em um arquivo do Excel "baseado em Mac" sem manualmente abrir o arquivo e salvá-lo novamente? Idealmente no terminal? Não consigo encontrar nenhuma ferramenta existente. Como um tipo sysadmin / ops de intermediário, não estou em posição de pedir ao cliente para gerá-los no macOS e não estou em posição de pedir ao Dev para reconstruir a parte do produto que os lê. Eu preciso para automatizar isso ou isso me enlouquecerá.

Obrigado por qualquer ajuda que você possa dar.

    
por cognoscente 13.02.2018 / 02:57

1 resposta

-1

Estou mostrando o método mais fácil e ele ajudará você a converter o arquivo .Xls, .Xlsx e até mesmo o arquivo .CSV do Windows em Mac Numbers (Planilha).

  1. Carregue os números.
  2. Navegue até o local do seu arquivo do Excel. Você também pode clicar no menu Arquivo, selecionar Abrir e navegar para sua planilha.
  3. Depois de localizar o arquivo, selecione-o e clique em Abrir. Uma janela de progresso será exibida.
  4. Uma janela pode aparecer, explicando as alterações feitas durante o processo de importação.

NB: A possibilidade é que uma mudança tenha que ser feita. Quanto mais simples a planilha, mais o arquivo se parecerá com o que você criou no Excel.

Agora, o arquivo do Excel deve abrir no Numbers no MAC.

Espero que isso ajude você.

    
por 14.02.2018 / 13:30