Автор Тема: Excel (use Perl) => txt  (Прочитано 8284 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
Excel (use Perl) => txt
« : 17 Июля 2002, 14:31:27 »
В Perl\'е я не шарю, поэтому решил обратиться к вам, перлистам.
Необходимо написать скрипт, который бы данные из Excel\'я парсил в текстовый файл (разделитель табуляция).
Пробовал найти что-нть подобное на PHP, но не нашёл, а на перле есть такая штука.
Необходимо следующее:
1) Запускаю скрит (н-р, parse.pl?path=/my_xls_files/file.xls)
2) Скрипт перегоняет данные с первого листа файла /my_xls_files/file.xls в текстовый файл (разделитель табуляция)
3) Далее, если всё ОК, скрипт передаёт управление моему PHP скрипту (н-р, parse_txt.php?error=no), если (!OK), то передаёт код ошибки (н-р, parse_txt.php?error=1 (н-р, если файл не является файлом Excel); parse_txt.php?error=2 (н-р, если файл является файлом Excel не соответствующей версии) и т.д.)
Вот в общем-то и всё. Платформа Unix (если это имеет значение).

Работу могу простимулировать.
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн ESE

  • Фанат
  • Постоялец
  • ***
  • Сообщений: 172
  • +0/-0
  • 2
    • Просмотр профиля
    • http://comp.hobi.ru
Excel (use Perl) => txt
« Ответ #1 : 18 Июля 2002, 03:21:52 »
Я как-то тоже хотел подобное сделать........... тщетно.
Пришлось просто сохранять файл из excel в формат с раздел. табуляции......
У програмиста две руки: левая и !левая
welcome

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Excel (use Perl) => txt
« Ответ #2 : 18 Июля 2002, 12:21:32 »
DESCRIPTION
Spreadsheet::ParseExcel makes you to get information from Excel95, Excel97, Excel2000 file...

А по сабжу, если никто не возьмется, отпиши мне, помогу.
The documentations is your friend

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
Excel (use Perl) => txt
« Ответ #3 : 18 Июля 2002, 12:33:33 »
Цитировать
Пришлось просто сохранять файл из excel в формат с раздел. табуляции......
Так я сейчас и делаю.....
Цитировать
Я как-то тоже хотел подобное сделать........... тщетно.
Ну, а как же
http://ftp://ftp.dn.ru/pub/MySQL/Downloads/Contrib/excel2mysql
http://www-106.ibm.com/developerworks/linux/library/l-pexcel/
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
Excel (use Perl) => txt
« Ответ #4 : 26 Июля 2002, 09:04:43 »
Ребята помогите плиззз, а то чтот NeoNox взялся....... и замолчал.
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн Evgeny

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 272
  • +0/-0
  • 0
    • Просмотр профиля
Excel (use Perl) => txt
« Ответ #5 : 26 Июля 2002, 10:43:52 »
Не могу сейчас вспомнить, как называется модуль, но я с его помощью и читал, и писал в Excel.
Правда под Windows это было, и какое-то ограничение на количество обрабатываемых строк было,
модуль стандартный, или на cpan.org или activestate.com взял.

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
Excel (use Perl) => txt
« Ответ #6 : 26 Июля 2002, 10:58:26 »
Да мне под *nix, а лучше кросс.
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Excel (use Perl) => txt
« Ответ #7 : 28 Июля 2002, 22:46:13 »
Цитировать
Ребята помогите плиззз, а то чтот NeoNox взялся....... и замолчал.
Сори, в оффлайн ушел. Грабли с модулем. Переписали как курица лапой... :( Давай не зафлуживать топик, перейдем в асю.
The documentations is your friend

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
Excel (use Perl) => txt
« Ответ #8 : 07 Августа 2002, 11:12:02 »
Установили мне админы модули
Spreadsheet-ParseExcel
Spreadsheet-WriteExcel

Ща пробую делать указаную выше штуку.
Скопировал с ентого урля
http://www-106.ibm.com/developerwor...brary/l-pexcel/
вот такую вещь

#!/usr/bin/perl -w

use strict;
use Spreadsheet::ParseExcel;

my $oExcel = new Spreadsheet::ParseExcel;

die "You must provide a filename to $0 to be parsed as an Excel file" unless @ARGV;

my $oBook = $oExcel->Parse($ARGV[0]);
my($iR, $iC, $oWkS, $oWkC);
print "FILE  :", $oBook->{File} , "\\n";
print "COUNT :", $oBook->{SheetCount} , "\\n";

print "AUTHOR:", $oBook->{Author} , "\\n"
if defined $oBook->{Author};

for(my $iSheet=0; $iSheet < $oBook->{SheetCount} ; $iSheet++)
{
$oWkS = $oBook->{Worksheet}[$iSheet];
print "--------- SHEET:", $oWkS->{Name}, "\\n";
for(my $iR = $oWkS->{MinRow} ;
defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ;
$iR++)
{
for(my $iC = $oWkS->{MinCol} ;
defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol} ;
$iC++)
{
$oWkC = $oWkS->{Cells}[$iR][$iC];
print "( $iR , $iC ) =>", $oWkC->Value, "\\n" if($oWkC);
}
}
}

запускаю
http://www.autodealer.ru/_proba.pl
в ерор логе такая штука
Premature end of script headers: /web/autodealer/site/www/_proba.pl
You must provide a filename to _proba.pl to be parsed as an Excel file at _proba.pl line 8

делаю так
http://www.autodealer.ru/_proba.pl?other (есть ещё файл other.xls)
он пишет
Premature end of script headers: /web/autodealer/site/www/_proba.pl
Use of uninitialized value at _proba.pl line 12.
Use of uninitialized value at _proba.pl line 13.
Use of uninitialized value at _proba.pl line 18.

Может кто подскажет. А то я совсем не рублю в Перл\'е.
(но видимо придётся разбираться и учить)
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Excel (use Perl) => txt
« Ответ #9 : 07 Августа 2002, 11:42:52 »
лол

Шелл хостинг дает? :)
2B OR NOT 2B = FF

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
Excel (use Perl) => txt
« Ответ #10 : 07 Августа 2002, 11:51:20 »
Не знаю....
В смысле telneat, то да.
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Unregistered

  • Гость
Excel (use Perl) => txt
« Ответ #11 : 07 Августа 2002, 12:54:33 »
Цитировать
Premature end of script headers: /web/autodealer/site/www/_proba.pl
Use of uninitialized value at _proba.pl line 12.
Use of uninitialized value at _proba.pl line 13.
Use of uninitialized value at _proba.pl line 18.

Убери use strict;
или строку
Цитировать
my($iR, $iC, $oWkS, $oWkC);

перепиши как  my($iR, $iC, $oWkS, $oWkC,$oBook);

Второе предпочтительнее.

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
Excel (use Perl) => txt
« Ответ #12 : 07 Августа 2002, 13:02:43 »
Вот ответ:
"my" variable $oBook masks earlier declaration in same scope at _proba.pl line 11.
Use of uninitialized value at _proba.pl line 12.
Use of uninitialized value at _proba.pl line 13.
Use of uninitialized value at _proba.pl line 18.
[Wed Aug  7 15:02:02 2002] [error] [client 212.220.204.71] Premature end of script headers: /web/autodealer/site/www/_proba.pl
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн Serchey

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 216
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.rivne.ukrtelecom.ua
Excel (use Perl) => txt
« Ответ #13 : 07 Августа 2002, 16:40:52 »
А-у-у! Вы чего, не видете что надо переделать 8-ю строчку?Этот скрипт расчитан на то, что нужный файл передается с командной строки.

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
Excel (use Perl) => txt
« Ответ #14 : 07 Августа 2002, 16:43:23 »
Serchey дак как переделать или как передать?
плииизззз нелп.
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28