| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Spreadsheet::ParseExcel |
| Автор: Agares 18.8.2008, 17:25 | ||||
| Парсю XLS модулем Spreadsheet::ParseExcel На выходе получаю:
Как я понял, проблема с кодировкой, похоже выдается в utf8. Можно ли как-то преобразовать в нормальный вид?
не помогает |
| Автор: nitr 19.8.2008, 10:11 |
| Agares, поманипулируйте с модулем Encode (методы decode, encode). Прочтите по вашему модулю документацию, там есть явное указание кодировок (на сколько помню). |
| Автор: Itsys 19.8.2008, 10:12 |
| use Spreadsheet::ParseExcel::FmtUnicode; Добавлено через 1 минуту и 29 секунд my $oFmtJ = Spreadsheet::ParseExcel::FmtUnicode->new(Unicode_Map=>'CP1251'); my $oBook = $oExcel->Parse('C:/путь/to.xls',$oFmtJ); |
| Автор: nitr 19.8.2008, 10:15 |
| Вот и оно Itsys, ;) P.S.: память не подвела |
| Автор: Agares 19.8.2008, 11:05 | ||||
не помогает :( |
| Автор: nitr 19.8.2008, 11:18 |
| Agares, а как вариант с Encode? |
| Автор: Agares 19.8.2008, 16:26 |
| тоже не помогает :( |
| Автор: Itsys 19.8.2008, 16:57 | ||
Неужели так не помогает?
|
| Автор: Itsys 19.8.2008, 17:15 |
| Если не помогает, когда приду домой, посмотрю, я с этом как-то уже боролся.... |
| Автор: Agares 19.8.2008, 17:52 |
| Увы не помогает |
| Автор: nitr 19.8.2008, 23:08 | ||||
Agares,
Добавлено через 2 минуты Agares, вы уверены что должно? Я проверил оба способа, что через Encode, что через Spreadsheet::ParseExcel::FmtUnicode. Результат - положительгый Добавлено через 3 минуты и 42 секунды Взял просто sample.pl отредактировал для себя и всё
Добавлено через 4 минуты и 41 секунду Agares, какая ОС и какой формат (чем создавался) данный xls??? |
| Автор: Agares 20.8.2008, 10:52 |
| ОС Unix, чем создавался файл не знаю, скорее всего Майкрософт Эксель. Сам сайт работает на utf8. |
| Автор: Itsys 20.8.2008, 16:24 | ||
Нашел:
|
| Автор: Agares 20.8.2008, 16:51 | ||
Помогла вот такая бойда, спасибо
|
| Автор: nitr 20.8.2008, 20:44 |
| Agares, ужас какой ;) Itsys, интересная подметка... Добавлено через 1 минуту и 17 секунд Кстати, давно писал про этот модуль, он уже давно не обновлялся, к примеру, не поймет Excel 2007. Так вот, я писал тогда, что лучше работать с XLS как с XML, есть аналогичный модуль, тогда ещё некоторые доработки здесь приводил |
| Автор: Itsys 21.8.2008, 11:19 |
| nitr, ты имеешь в виду модуль XML::Excel? Не в курсе, насколько он быстрее работает чем Spreadsheet::ParseExcel? ЗЫ Вообще, насколько я понял, быстрее всего парсить большие Excel файлы через OLE |
| Автор: shamber 21.8.2008, 11:36 | ||
| вот что пишет автор Ofcourse the DOM implementation takes up more resources and in some instances timing, it's the easiest to use.
помним помним |
| Автор: nitr 21.8.2008, 21:02 |
| Itsys, shamber, Я вот что нашёл http://search.cpan.org/~scesano/Spreadsheet-TieExcel-0.75/TieExcel.pod По поводу Excel 2007 http://search.cpan.org/~dmow/Spreadsheet-XLSX-0.03/lib/Spreadsheet/XLSX.pm Так что проект кое-как развивается |