20 장의 Excel 파일이 있습니다. 파일을 20 개의 CSV 파일 (각 시트 당 하나씩)로 빠르게 변환하는 방법이 있습니까?
물론 수동으로 할 수는 있지만 이러한 파일을 많이 처리해야하므로 일종의 명령 줄 유틸리티 (또는 Excel 명령 줄 스위치)가 있으면 좋을 것입니다.
20 장의 Excel 파일이 있습니다. 파일을 20 개의 CSV 파일 (각 시트 당 하나씩)로 빠르게 변환하는 방법이 있습니까?
물론 수동으로 할 수는 있지만 이러한 파일을 많이 처리해야하므로 일종의 명령 줄 유틸리티 (또는 Excel 명령 줄 스위치)가 있으면 좋을 것입니다.
답변:
vembutech의 방법은 확실히 더 세련된 솔루션입니다. 다음은 하나의 통합 문서에서 모든 시트를 내보내는 간단한 VBA 매크로입니다.
활성 통합 문서 폴더에 모든 이름이 있습니다. workbookname_sheetname.csv
Sub exportcsv()
Dim ws As Worksheet
Dim path As String
path = ActiveWorkbook.path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
For Each ws In Worksheets
ws.Activate
ActiveWorkbook.SaveAs Filename:=path & "_" & ws.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
Next
End Sub
의견. 원본 매크로는 단순히 다른 이름으로 저장 기능을 사용합니다 (원본을 닫는 것과 비슷합니다). 원본을 열어 둔 상태에서이 작업을 수행하려면 새 통합 문서에 복사하고 저장하고 새 통합 문서를 닫아야합니다.
Sub exportcsv()
Dim ws As Worksheet
Dim path As String
path = ActiveWorkbook.path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
For Each ws In Worksheets
ws.Copy
ActiveWorkbook.SaveAs Filename:=path & "_" & ws.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close False
Next
End Sub
배치 스크립트 대신 더 나은 사용자 인터페이스를 제공 하는 XLS to CSV 변환기 를 사용할 수 있습니다
직접 링크 : http://cwestblog.com/wp-content/uploads/2013/04/XLS-to-CSV-Converter-1.1.0.zip
.HTA 파일을 압축 해제하십시오.
.HTA 파일을 두 번 클릭하십시오.
xls 파일이있는 폴더를 찾으십시오
csv 이름 지정 스키마를 선택하고 변환 시작을 클릭하면 폴더에있는 모든 xls 파일이 csv 파일로 변환됩니다.
폴더에 3 개의 시트가있는 3 개의 xls 파일이 있으면 각 시트에 대해 9 개의 csv 파일이 생성되고 csv 이름 지정 스키마를 사용하여 csv 파일을 식별 할 수 있습니다.
이것이 도움이되기를 바랍니다!
다음은 파이썬 스크립트입니다 getsheets.py ( 미러 )를 설치해야 pandas
하고 xlrd
당신이 그것을 사용하기 전에.
이것을 실행하십시오 :
pip3 install pandas xlrd # or `pip install pandas xlrd`
어떻게 작동합니까?
$ python3 getsheets.py -h
Usage: getsheets.py [OPTIONS] INPUTFILE
Convert a Excel file with multiple sheets to several file with one sheet.
Examples:
getsheets filename
getsheets filename -f csv
Options:
-f, --format [xlsx|csv] Default xlsx.
-h, --help Show this message and exit.
여러 xlsx로 변환 :
$ python3 getsheets.py goods_temp.xlsx
Sheet.xlsx Done!
Sheet1.xlsx Done!
All Done!
여러 CSV로 변환 :
$ python3 getsheets.py goods_temp.xlsx -f csv
Sheet.csv Done!
Sheet1.csv Done!
All Done!
pip3 install openpyxl click
... 그리고 나는 ImportError: cannot import name 'get_column_letter'
팬더 513 번 줄에 excel.py; 팬더 설치가 어떻게 든 망가진 것 같습니다.
문서 폴더에 탭을 저장하기위한 ExtendOffice 의 매크로 :
Sub ExportSheetsToCSV()
Dim xWs As Worksheet
Dim xcsvFile As String
For Each xWs In Application.ActiveWorkbook.Worksheets
xWs.Copy
xcsvFile = CurDir & "\" & xWs.Name & ".csv"
Application.ActiveWorkbook.SaveAs Filename: = xcsvFile, _
FileFormat: = xlCSV, CreateBackup: = False
Application.ActiveWorkbook.Saved = True
Application.ActiveWorkbook.Close
Next
End Sub
Run-time error '1004': Application-defined or object-defined error
Mac 용 내 엑셀.