Como converter .xlsx para .txt?

6

Eu quero saber se existe uma ferramenta Linux ou um script disponível para converter o arquivo .xlsx para .txt .

    
por user53032 20.10.2010 / 10:33

7 respostas

8

Outra maneira é renomeá-lo como .zip e descompactá-lo como todos os arquivos. *** x são apenas pastas compactadas contendo xml. Dentro você encontrará uma pasta "xl" com uma subpasta "worksheets", dentro de um arquivo xml para cada planilha. O formato deles é bastante simples e deve ser fácil de analisar com qualquer um dos pacotes xml.

    
por 20.10.2010 / 11:47
6

A ferramenta ssconvert que vem com Gnumeric pode converter arquivos xlsx em texto:

ssconvert Book1.xlsx file.csv
    
por 20.10.2010 / 14:27
3

Eu não sei sobre uma ferramenta no Linux, mas você pode usar o Google Docs .

Você carrega a planilha lá e pode exportá-la como txt.

    
por 20.10.2010 / 10:44
3

Se são apenas dados textuais / numéricos (que eu tenho que assumir, caso contrário um arquivo de texto seria um pouco ambicioso), então você poderia tentar xlsx2csv para gerar arquivos CSV de suas planilhas.

Não posso garantir sua eficácia, mas vale a pena tentar.

    
por 20.10.2010 / 10:44
2

Não é um script de shell (ao contrário do script mencionado na postagem de Andy de 20 de outubro de 2010 às 8:44), mas um script de python:

com o mesmo nome, xlsx2csv

Isso exporta os valores de data como flutuantes:

2012/07/01 = > 41091,

"2012/07/01 01:00:00" = > 41091.0416666667

xlsx2csv.py --help 
Usage: xlsx2csv.py [options] infile [outfile]

Options:
  --version             show program's version number and exit


     -h, --help            show this help message and exit
      -s SHEETID, --sheet=SHEETID
                            sheet no to convert (0 for all sheets)
      -d DELIMITER, --delimiter=DELIMITER
                            delimiter - csv columns delimiter, 'tab' or 'x09' for
                            tab (comma is default)
      -p SHEETDELIMITER, --sheetdelimiter=SHEETDELIMITER
                            sheets delimiter used to separate sheets, pass '' if
                            you don't want delimiters (default '--------')
      -f DATEFORMAT, --dateformat=DATEFORMAT
                            override date/time format (ex. %Y/%m/%d)
      -i, --ignoreempty     skip empty lines
      -r, --recursive       convert recursively
    
por 10.07.2012 / 16:54
1

Não é linha de comando, mas o OpenOffice pode ler arquivos .xslx e salvar como csv. Provavelmente já está na sua máquina Linux.

    
por 20.10.2010 / 22:57
1

Eu usei o comando abaixo para converter todos os meus arquivos xlsx no diretório atual (deve ter o Libre Office instalado):

for i   in *.xlsx; do  libreoffice --headless --convert-to csv "$i" ; done
    
por 08.02.2014 / 21:59