web-dev-qa-db-ja.com

.xlsxを.txtに変換する方法は?

Linuxツールまたは変換に利用できるスクリプトがあるかどうかを知りたい.xlsxファイルから.txt

7
user53032

もう1つの方法は、名前を.Zipに変更し、すべての。*** xファイルがxmlを含むzipフォルダーであるため、解凍することです。内部には、サブフォルダー「worksheets」を含むフォルダー「xl」があり、内部には各ワークシートのxmlファイルがあります。それらの形式は非常に単純であり、どのxmlパッケージでも簡単に解析できるはずです。

9
neil

Gnumeric に付属する ssconvert ツールは、xlsxファイルをテキストに変換できます。

ssconvert Book1.xlsx file.csv
7
jmcnamara

Linuxのツールについてはわかりませんが、 Google Docs を使用できます。

そこでスプレッドシートをアップロードし、それをtxtとしてエクスポートできます。

3

テキスト/数値データだけの場合(そうでないと、テキストファイルは少し野心的です)、 xlsx2csv を試してスプレッドシートからCSVファイルを生成できます。

その有効性を保証することはできませんが、試してみる価値はあります。

3
Andy

シェルスクリプトではなく(10月20日のアンディの投稿に記載されているスクリプトとは異なり)、pythonスクリプト:

同じ名前-- xlsx2csv

ただし、これは日付値を浮動小数点数としてエクスポートします。

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
2
knb

コマンドラインではありませんが、OpenOfficeは.xlsxファイルを読み取り、csvとして保存できます。おそらくすでにLinuxマシン上にあります。

1
Rich Homolka

以下のコマンドを使用して、現在のディレクトリにあるすべてのxlsxファイルを変換しました(Libre Officeがインストールされている必要があります)。

for i   in *.xlsx; do  libreoffice --headless --convert-to csv "$i" ; done
1
neves