1つの.xls / .xlsxファイルのすべてのシートを.csvに変換する必要があります。これは、すべてのディレクトリとサブディレクトリにあるすべての.xlsファイルに対して(再帰的に)行われます。
手順1:次のコマンドを使用して、すべての.xlsのシート名を.csvに取得します。
for file in $(find . -name '*.xls' -o -name '*.xlsx');do in2csv -n "$file" > ${file%.xls}-sheetnames-list.csv; done
filename-sheetnames-list.csv
リストとして機能できます:
sheetname1
sheetname2
sheetname3
ステップ2:in2csvを使用して特定のシートを.csvに変換するためのコードは次のとおりです。
in2csv --sheet "SHEETNAME" filename.xls > filename-SHEETNAME.csv
.xls / x内のすべてのシート名を取得し、.xls / xを含むすべてのディレクトリに対してすべてのシートを個別に書き込むにはどうすればよいですか?
in2csv --write-sheets "-" filename.xls > filename-sheet1.csv filename-sheet2.csv ....
これからすべてのシートを取得する方法がわからない、sheet1.csvにのみ出力を提供します。
@glennjackmanこれは、UnixとLinuxの場合と同じように、完全にここで話題になっています。
—
terdon 2017年
find
すべて.xls{,x}
ではなく、すべてのシートを使用してループしないの-exec
ですか?