Preciso converter todas as planilhas de um único arquivo .xls / .xlsx em um .csv. Isso será feito em todos os arquivos .xls em todos os diretórios e subdiretórios (recursivamente).
Etapa 1 : obtenha os nomes de planilha de todos os .xls em um .csv usando:
for file in $(find . -name '*.xls' -o -name '*.xlsx');do in2csv -n "$file" > ${file%.xls}-sheetnames-list.csv; done
filename-sheetnames-list.csv
pode atuar como uma lista:
sheetname1
sheetname2
sheetname3
Etapa 2 : o código para converter uma planilha específica em um .csv usando o in2csv é:
in2csv --sheet "SHEETNAME" filename.xls > filename-SHEETNAME.csv
Como posso obter todos os nomes de folhas em um arquivo .xls / xe escrever cada folha separadamente para todos os diretórios que contêm um arquivo .xls / x?
in2csv --write-sheets "-" filename.xls > filename-sheet1.csv filename-sheet2.csv ....
fornece saída apenas em sheet1.csv, não sabe como obter todas as folhas disso.
find
todos.xls{,x}
e repetir cada folha usando-exec
?