Spreadsheet::ParseExcel отлично работает, однако мне нужен способ читать файл без него, скажем, «из коробки Perl», поскольку я не могу установить модуль PM или CPAN. У кого-нибудь есть предложение начать меня?как читать файл Excel с Perl?
ответ
Что является относительно простой задачей с использованием модулей CP на самом деле очень трудно без них.
Для начала двоичных данных Excel (BIFF) хранятся в другом двоичном формате файл называется соединение OLE document. Это похоже на файловую систему внутри файла, и данные BIFF могут не сохраняться последовательно. Поэтому для начала вам нужно будет написать парсер для вывода данных.
После того, как необработанные данные BIFF извлечены, вы должны проанализировать его, чтобы найти данные ячейки. Это немного проще, но все еще содержит трудности, такие как строки, хранящиеся в хеш-таблице, вдали от данных ячейки. И даты, которые неотличимы от простых чисел. И данные в объединенных ячейках. И все по-прежнему в двоичных и битмашках управляет значением структур данных.
К счастью, все эти головные боли пострадали от кого-то другого * и завернуты в module, так что никто другой не должен их терпеть.
Итак, даже если ваши администраторы не будут устанавливать модули для вас, существует множество способов: install modules или даже install perl локально, так что вам не нужно их беспокоить. В конце концов, это, вероятно, будет более легким решением.
* Me частично.
Г-н Макнамара, я большой поклонник вашей работы, я возьму ваш совет и продолжайте установку модулей. – isJustMe
OpenDocument is an ISO standard, так что вы можете прочитать спецификацию и написать свой собственный парсер для этого.
Модули CPAN существуют, потому что есть вещи, которые многие вещи (некоторые простые, некоторые сложные), которые люди хотят делать, не подходят, чтобы быть частью основного языка. Разбор таблиц Excel - один из них (один из более сложных).
Вы должны исправить любой барьер, препятствующий установке модуля, чтобы помочь. Он может быть менеджером (в этом случае вам нужно лоббировать, чтобы изменить политику), это может быть техническое (в этом случае вам может просто нужно узнать о local::lib
.
спасибо за предложение, а не за ответ, который я искал. – isJustMe
Извините, я думал, что видел, что экспорт в CSV был вариантом в предыдущих комментариях. Я вижу, теперь я ошибся. –
Экспортируйте таблицу в файл csv и проанализируйте его с или без Text::CSV
.
Спасибо за предложение, это на самом деле то, что я хочу сделать. Прочитайте файл и экспортируйте его как CSV через perl. Мне нужно это делать программно. – isJustMe
Можете ли вы скачать [XLS2CSV] (http://download.cnet.com/XLS2CSV/3000-2079_4-10718456.html)? – mob
Да, я могу, но зачем это использовать? Можно также нажать файл сохранить как csv на excel. – isJustMe
Я опишу ответ выше из @mob относительно текста :: CSV. Некоторое время назад я нашел Text:CSV::Slurp на CPAN и был мгновенным конвертированием. Он берет CSV-файл со строками заголовка и возвращает arrayref hashrefs, где ключи являются именами из строк заголовка. Очевидно, что это не будет работать во всех случаях, но если это делает ваш код прост:
my $slurp = Text::CSV::Slurp->new;
my $data = $slurp->load(file => $filename);
for my $record (@$data) {
...
}
Спасибо, дело в том, что мне приходится разбирать файл XLS, а не CSV – isJustMe
- 1. Как читать файл Excel?
- 2. Как читать файл Excel?
- 3. Как читать файл excel java ..?
- 4. Как читать файлы Excel в Perl?
- 5. Как читать экспортированный файл Excel?
- 6. Как создать файл excel с perl?
- 7. Как читать .conf-файл в Perl
- 8. Perl CGI читать текстовый файл
- 9. Perl - Regex читать файл журнала
- 10. Как читать двоичный файл в Perl
- 11. Как читать файл свойств из PERL скрипта
- 12. Как grep читать файл в perl
- 13. Как читать файл исключительно в perl?
- 14. Как читать пустой файл в Perl
- 15. как читать колонки в Excel листе с помощью Perl
- 16. Как читать файл excel (.xls) как текст?
- 17. читать данные от excel in perl
- 18. читать файл excel в j2me
- 19. читать файл excel с помощью Apache POI
- 20. Как читать Excel XML-файл в Python
- 21. Как читать файл excel в проекте огурца?
- 22. как читать файл excel в matlab 2012
- 23. Как читать файл excel в vb.net 2003
- 24. Как читать файл excel из определенной строки?
- 25. Как читать файл excel по-китайски [R]?
- 26. Как читать файл Excel (.xlsx) в java?
- 27. Читать большой Excel файл .xlsx
- 28. Как читать файл excel в asp.net
- 29. Как читать файл excel из браузера?
- 30. Как читать файл Excel в Win7 64bit?
[А] (http://shadow.cat/blog/matt-s-trout/but-i-cant -use-cpan /) [вы] (http://www.perlmonks.org/?node=693828) [обязательно] (http://twiki.org/cgi-bin/view/TWiki/HowToInstallCpanModules#Setting_up_a_private_CPAN_librar) [ вы] (http://twiki.org/cgi-bin/view/TWiki/HowToInstallCpanModules#Installing_CPAN_modules_manually) [не может] (http://linuxgazette.net/139/okopnik.html) [использовать] (http://www.thegeekstuff.com/2008/09/how-to-install-perl-modules-manually-and-using-cpan-command/) [CPAN] (http://www.activestate.com/blog/2010/ 10/как установить-CPAN-модули-ActivePerl)? – mob
полностью уверен ... не был назначен полномочный пользователь и запрос – isJustMe
Вы можете использовать модули, не устанавливая их как root. –