ฉันต้องแปลงไฟล์. 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 : รหัสสำหรับการแปลงชีทที่เฉพาะเจาะจงให้เป็น. csv โดยใช้ in2csv คือ:
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 ไม่แน่ใจว่าจะรับชีตทั้งหมดได้อย่างไร
find
ทุก.xls{,x}
และห่วงกว่าแผ่นโดยใช้ทุก-exec
?