Tôi cần chuyển đổi tất cả các trang tính của một tệp .xls / .xlsx thành một tệp .csv. Điều này sẽ được thực hiện trên tất cả các tệp .xls trong tất cả các thư mục và thư mục con (đệ quy).
Bước 1 : Nhận tên trang tính của tất cả .xls vào .csv bằng cách sử dụng:
for file in $(find . -name '*.xls' -o -name '*.xlsx');do in2csv -n "$file" > ${file%.xls}-sheetnames-list.csv; done
filename-sheetnames-list.csv
có thể hoạt động như một danh sách:
sheetname1
sheetname2
sheetname3
Bước 2 : Mã để chuyển đổi một trang cụ thể thành .csv bằng cách sử dụng in2csv là:
in2csv --sheet "SHEETNAME" filename.xls > filename-SHEETNAME.csv
Làm cách nào tôi có thể nhận được mọi tên trang tính trong .xls / x và viết riêng từng trang tính cho tất cả các thư mục chứa .xls / x?
in2csv --write-sheets "-" filename.xls > filename-sheet1.csv filename-sheet2.csv ....
chỉ cung cấp đầu ra trên sheet1.csv, không biết làm thế nào để có được tất cả các trang tính từ đây.
find
mỗi.xls{,x}
và vòng lặp trên mỗi tờ bằng cách sử dụng-exec
?