Как преобразовать файл Excel с несколькими листами в набор файлов CSV?

У меня есть файл Excel с 20 листами. Есть ли способ быстро преобразовать файл в 20 файлов CSV – по одному для каждого листа?

Конечно, я могу сделать это вручную, но мне придется обрабатывать эти файлы много, поэтому было бы здорово иметь какую-то утилиту командной строки (или даже ключи командной строки Excel).

4 Solutions collect form web for “Как преобразовать файл Excel с несколькими листами в набор файлов CSV?”

Метод 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 

РЕДАКТИРОВАТЬ:

Для комментария. Оригинальный макрос просто использует функцию save as (вроде как закрытие оригинала). Если вы хотите сделать это, оставив оригинал открытым, вам нужно скопировать в новую книгу, сохранить, закрыть новую книгу.

 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 в CSV, который даст вам лучший пользовательский интерфейс

Прямая ссылка: http://cwestblog.com/wp-content/uploads/2013/04/XLS-to-CSV-Converter-1.1.0.zip

Разархивируйте файл .HTA.

Дважды щелкните файл .HTA

Введите описание изображения здесь

Найдите папку, в которой у вас есть файл xls

Выберите схему именования csv и нажмите «начать преобразование», которое преобразует все файлы xls в папку в файлы csv

Если ваша папка имеет 3 файла xls с 3 листами, то для каждого листа будет создано 9 файлов csv, и вы можете определить файл csv с помощью схемы именования csv

Надеюсь это поможет!

Макрос из 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 

Вот скрипт python getheets.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! 
  • Каковы максимально допустимые строки в Microsoft Excel .xls или .xlsx
  • Избегайте Powerpoint (/ Word) 2010, создавая временные файлы в рабочем каталоге
  • Как удалить или изменить фон заполняет все таблицы в документе Microsoft Word
  • Разрыв ссылки с внешним документом MS Word
  • Как вы поддерживаете Microsoft Excel на полной скорости, даже если у него нет фокуса окна?
  • Могу ли я снова запустить свою программу Microsoft Office 2010 Starter после истечения срока действия пробной версии Office?
  • Как удаленно проверять офисную версию?
  • Канадский английский на продуктах Apple
  • Имеет ли Microsoft Office 2010 контроль над версиями?
  • Как изменить шрифт Body в Outlook
  • Получить количество страниц из нескольких документов Word, выбрав их в папке?
  • Как распечатывать метки на письмах с помощью Microsoft Word
  • Давайте будем гением компьютера.