среда, 25 апреля 2012 г.

Выгрузка xls-файлов в csv

Ну и запросы у вас...

Необходимо преобразовать несколько сотен xls файлов в формат csv. Исходные файлы имеют по несколько листов и эти листы желательно объединить и сохранить в один csv.

  1. Устанавливаем xls2csv
  2. В каталоге с исходными файлами запускаем скрипт:

    #!/bin/sh
    for i in `ls *xls`
    do
      echo convertxls2csv -x "$i" -b WINDOWS-1251 -a UTF-8 -c "$i".csv;
      convertxls2csv -x "$i" -b WINDOWS-1251 -a UTF-8 -W | grep -v "Now reading" | grep -v "The following" > sheet
      cat sheet | while read SHEET
      do
        convertxls2csv -x "$i" -b WINDOWS-1251 -a UTF-8 -w "$SHEET" -c tmp.csv;
        cat tmp.csv >> "$i".csv;
      done
    done
    rm tmp.csv;
  3. В результате получаем файлы с именами вида *.xls.csv в которые выгружены все листы исходных *.xls

Комментариев нет:

Отправить комментарий