Мне известно использовать in2csv, чтобы сохранить конкретный рабочий лист как .csv:
in2csv --sheet "sheet name" file1.xls > sheet-name.csv
Но есть ли другие инструменты для простого распечатывания имен листов?
Возможно, есть варианты с Perl?
in2csv предоставляет параметр --names или -n для этого: [Source]
-n, --names Display sheet names from the input Excel file.
В вашем примере команда будет:
in2csv -n file1.xls
Оказывается, эта функция была добавлена только в csvkit 1.0.2, которая пока недоступна из официальных источников пакетов. Вам нужно либо
скомпилировать программу из источника, либо установить ее через pip с помощьюsudo pip install csvkit
, чтобы получить последнюю версию.
in2csv предоставляет параметр --names или -n для этого: [Source]
-n, --names Display sheet names from the input Excel file.
В вашем примере команда будет:
in2csv -n file1.xls
Оказывается, эта функция была добавлена только в csvkit 1.0.2, которая пока недоступна из официальных источников пакетов. Вам нужно либо
скомпилировать программу из источника, либо установить ее через pip с помощьюsudo pip install csvkit
, чтобы получить последнюю версию.
in2csv предоставляет параметр --names или -n для этого: [Source]
-n, --names Display sheet names from the input Excel file.
В вашем примере команда будет:
in2csv -n file1.xls
Оказывается, эта функция была добавлена только в csvkit 1.0.2, которая пока недоступна из официальных источников пакетов. Вам нужно либо
скомпилировать программу из источника, либо установить ее через pip с помощьюsudo pip install csvkit
, чтобы получить последнюю версию.
in2csv - это более простой вариант, но я оставлю это на случай, если кто-нибудь найдет его полезным. Есть хорошая команда под названием xlhtml для преобразования файлов XLS в HTML или XML. И как только у вас есть XML, различные инструменты обработки XML могут использоваться для выполнения широкого круга запросов. В этом случае:
$ xlhtml -xml ~/foo.xls | xmlstarlet sel -t -m '//pagetitle' -v . -n
Sheet1
Sheet2
XML, созданный xlhtml, выглядит так:
<?xml version="1.0" encoding="iso-8859-1" ?>
<excel_workbook>
<sheets>
<sheet>
<page>0</page>
<pagetitle>Sheet1</pagetitle>
<firstrow>0</firstrow>
<lastrow>11</lastrow>
<firstcol>0</firstcol>
<lastcol>0</lastcol>
Итак, для имен листов мы можем запросить узлы pagetitle , для которого xlhtml .
in2csv - это более простой вариант, но я оставлю это на случай, если кто-нибудь найдет его полезным. Есть хорошая команда под названием xlhtml для преобразования файлов XLS в HTML или XML. И как только у вас есть XML, различные инструменты обработки XML могут использоваться для выполнения широкого круга запросов. В этом случае:
$ xlhtml -xml ~/foo.xls | xmlstarlet sel -t -m '//pagetitle' -v . -n
Sheet1
Sheet2
XML, созданный xlhtml, выглядит так:
<?xml version="1.0" encoding="iso-8859-1" ?>
<excel_workbook>
<sheets>
<sheet>
<page>0</page>
<pagetitle>Sheet1</pagetitle>
<firstrow>0</firstrow>
<lastrow>11</lastrow>
<firstcol>0</firstcol>
<lastcol>0</lastcol>
Итак, для имен листов мы можем запросить узлы pagetitle , для которого xlhtml .
in2csv - это более простой вариант, но я оставлю это на случай, если кто-нибудь найдет его полезным. Есть хорошая команда под названием xlhtml для преобразования файлов XLS в HTML или XML. И как только у вас есть XML, различные инструменты обработки XML могут использоваться для выполнения широкого круга запросов. В этом случае:
$ xlhtml -xml ~/foo.xls | xmlstarlet sel -t -m '//pagetitle' -v . -n
Sheet1
Sheet2
XML, созданный xlhtml, выглядит так:
<?xml version="1.0" encoding="iso-8859-1" ?>
<excel_workbook>
<sheets>
<sheet>
<page>0</page>
<pagetitle>Sheet1</pagetitle>
<firstrow>0</firstrow>
<lastrow>11</lastrow>
<firstcol>0</firstcol>
<lastcol>0</lastcol>
Итак, для имен листов мы можем запросить узлы pagetitle , для которого xlhtml .