Forum Webscript.Ru

Программирование => PHP => Тема начата: Necrian от 21 Ноября 2003, 19:28:33

Название: конвертация xls в htm
Отправлено: Necrian от 21 Ноября 2003, 19:28:33
У меня ТЗ - юзер качает на сервер екселевский прайс, мне нужен скрипт который превратит инфу из файла ексель в хтм (потом я этот код записываю в базу).
Помогите кто знает???
Название: конвертация xls в htm
Отправлено: Necrian от 21 Ноября 2003, 19:30:49
Еще забыл добавить, сервак виндовый.
Название: конвертация xls в htm
Отправлено: Mefisto от 22 Ноября 2003, 02:23:07
пусть юзер сохраняет в экселе файл в виде текстового с разделителями табуляторами и разбирай его построчно
Название: конвертация xls в htm
Отправлено: Necrian от 26 Ноября 2003, 11:05:35
а другого способа нет?
заказчик хочет качать именно XLS файл.
сохранять как текст или html его не устраивает, у меня сейчас так сделано - его не устраивает.
Название: конвертация xls в htm
Отправлено: DiJay от 26 Ноября 2003, 13:22:10
покопайся по Инету
я по-моему даже здесь видел скрипт который конвертирует xls в csv
Название: конвертация xls в htm
Отправлено: Necrian от 26 Ноября 2003, 14:56:19
я конесно извиняюсь, но может мне кто-нибудь популярно объяснить что такое csv, sorry :-(
Название: конвертация xls в htm
Отправлено: DiJay от 26 Ноября 2003, 15:02:39
http://www.osp.ru/win2000/worknt/2001/03/343.htm
Название: конвертация xls в htm
Отправлено: Necrian от 26 Ноября 2003, 15:13:06
Большое спасибо, ссылочку посмотрел, а не подскажите как из екселя инфу в этот CSV перегнать (функции пхпэшные, алгоритмик там какой нибудь)? Не люблю готовые скрипты, предпочитаю сам писать.
Название: конвертация xls в htm
Отправлено: Меняздесьдавнонет от 26 Ноября 2003, 15:15:48
А зачем тебе csv? :-))))
Название: конвертация xls в htm
Отправлено: Меняздесьдавнонет от 26 Ноября 2003, 15:16:21
ты же, вроде, раньше htm хотел?
Название: конвертация xls в htm
Отправлено: Меняздесьдавнонет от 26 Ноября 2003, 15:25:13
Necrian, тебе надо сюда: http://www.php.net/com
Название: конвертация xls в htm
Отправлено: Necrian от 26 Ноября 2003, 15:33:51
ну из csv в htm перегнать не проблема
Название: конвертация xls в htm
Отправлено: Necrian от 26 Ноября 2003, 15:34:59
и что же мне надо на http://www.php.net/com???
Название: конвертация xls в htm
Отправлено: Меняздесьдавнонет от 26 Ноября 2003, 15:37:31
Necrian,а зачем перегонять из csv в htm? :-)
В смысле - зачем из xls в csv, а из Csv - в htm? А почему только два действия? А не 5 или 7?

На http://www.php.net/com описаны функции работы с екселем из РНР.
Название: конвертация xls в htm
Отправлено: Necrian от 26 Ноября 2003, 15:41:11
ну если нельзя сразу, xls ->htm, а можно xls ->csv ->htm, то надо так и делать, или я тебя не правильно понял???
А за ссылку спасибо, сейчас попробую разабраться...
Название: конвертация xls в htm
Отправлено: Меняздесьдавнонет от 26 Ноября 2003, 15:45:03
Кхммм...
Как бы тебе объяснить, родной...
Перевод из одного формата в другой включает в себя два этапа.
1. чтение исходного формата.
2. запись в новый.

Так вот, если в принципе можно прочесть из одного (а конвертация из xls в csv подразумевает, что xls ты читаешь - правильно?), то кто тебя заставляет после этого записывать в csv? А не сразу в htm?
Название: конвертация xls в htm
Отправлено: Necrian от 26 Ноября 2003, 15:47:56
кароче RomikChef расскажи, будь другом как мне решить поставленную задачу, с помощью каких функций прочитать поля екселя???
Название: конвертация xls в htm
Отправлено: Меняздесьдавнонет от 26 Ноября 2003, 15:49:23
Necrian, боюсь, судя по твоему уровню знаний, это тебе не под силу.
Для этого нужна та ссылка, которую я тебе дал.
Там все написано. Даже примеры есть.
Название: конвертация xls в htm
Отправлено: Necrian от 26 Ноября 2003, 15:52:05
как же ты интересно мои знания то проверил?
Название: конвертация xls в htm
Отправлено: Necrian от 26 Ноября 2003, 16:29:35
RomikChef, чтобы работал класс COM нужно что-бы на сервере стоял офис, или как, а то у меня не работает

$excel=new COM("Excel.sheet");

кричит

Warning: (null)(): Unable to obtain IDispatch interface for CLSID {00020820-0000-0000-C000-000000000046}: The RPC server is unavailable. in ... on line ...
Название: конвертация xls в htm
Отправлено: Меняздесьдавнонет от 26 Ноября 2003, 16:31:23
нужно
Название: конвертация xls в htm
Отправлено: Neter от 29 Ноября 2003, 16:17:42
Necrian Короче, скачиваешь описание формата и начинаешь  пытатся набивать это на РНР, когда дойдёшь до новязчивой мысли о суициде начинай шарить в интернете на предмет уже готовых решений..
Название: конвертация xls в htm
Отправлено: Yon от 29 Ноября 2003, 18:00:41
А почему ты не воспользуешся готовым решением excel to mysql. Вот тебе все сразу в базу записывается. А не хочешь, из мискла в html вытащить не проблема...
excel to mysql (http://www.softportal.com/freesoftware/93/)
Название: конвертация xls в htm
Отправлено: Макс от 29 Ноября 2003, 20:17:19
если уж хотите парсить именно XLS-файл, то ИМХО лучше использовать Perl-овый модуль Spreadsheet::ExcelParser и Spreadsheet::ExcelParser::Simple

Я не сторонник перла, но на ПХП нормальных бесплатных Excel-парсеров я пока не видел
Название: конвертация xls в htm
Отправлено: Меняздесьдавнонет от 30 Ноября 2003, 00:05:32
Макс, ну ты бы почитал родной пхпклуб :-)
Я, ты думаешь, чем занимался, перед тем, как здесь отвечать? ;-)
Под виндой, комом, это сделать можно.
Название: конвертация xls в htm
Отправлено: Макс от 30 Ноября 2003, 14:21:20
RomikChef
в данном случае можно.
В общем случае мое решение более универсальное, так как не зависит от ОС
Название: конвертация xls в htm
Отправлено: Necrian от 02 Декабря 2003, 15:21:07
Спасибо пацаны.
Название: конвертация xls в htm
Отправлено: DiJay от 10 Декабря 2003, 10:38:32
Ну значит попробовал я выцепить какие-ниубдь данные из Excel
вот код:


$excel = @new COM("Excel.application") or Die ("Невозможно запустить Excel!
");

print "{$excel->Application->value} {$excel->Application->version}
";

@$openBook=$excel->Workbooks->Open("C:/webworks/e-mails.xls") or Die("Невозможно открыть шаблон! Проверьте задание имени и местоположения файла.
");

$excel->Application->Visible = 0;

$sheet = $openBook->Worksheets(1);
$sheet->activate;

$maximum_strok=100;
$maximum_stolb=3;

for ($i=1;$i<=$maximum_strok;$i++) {
for ($j=1;$j<=$maximum_stolb;$j++) {
   $cell = $sheet->Cells($i,$j) ;
   $cell->activate;
   $arr[$i][$j] = $cell->value;
}
}

echo "";
for ($i=1;$i<=$maximum_strok;$i++) {
echo "";
for ($j=1;$j<=$maximum_stolb;$j++) {
   echo "";
}
echo "";
}
echo "
".$arr[$i][$j]."
";

$excel->Quit();
unset($excel);

?>

--------------------------------------
Но вот у меня проблема!!!
Срипт отлично работает, когда число ячеек меньше 100 штук, а вот при приближении количества опрашиваемых ячеек к 100 Apache просто вырубается на хрен! Пишет "Apache вызвал недопустимую ошибку и будет закрыт!"
Че за херня? Мудрые люди не подскажите?
И заодно, не подскажите, как определить количество заполненных ячеек в листе, т.е. на какой строке и каком столбце стоит последняя заполненная ячейка?
Название: конвертация xls в htm
Отправлено: Mefisto от 12 Декабря 2003, 00:41:03
Цитировать
Necrian:
заказчик хочет качать именно XLS файл.
сохранять как текст или html его не устраивает, у меня сейчас так сделано - его не устраивает.


они много чего хотят...
убеждай
Название: конвертация xls в htm
Отправлено: Necrian от 12 Декабря 2003, 12:01:53
Пацаны, я нашел нармальный парсер для этого, если кому нужен пишите, отправлю...
Название: конвертация xls в htm
Отправлено: DiJay от 15 Декабря 2003, 10:27:34
а на чем парсер? какие модули использует то?
Название: конвертация xls в htm
Отправлено: Necrian от 15 Декабря 2003, 11:53:08
Точно не ком, работает и под виндой и под юниксом, как я понял кто-то нарыл исходники экселя ...
Название: конвертация xls в htm
Отправлено: DiJay от 17 Декабря 2003, 10:25:17
вышли не в падлу на мыло: tochno@beep.ru
Название: конвертация xls в htm
Отправлено: boratustra от 18 Декабря 2003, 16:26:50
Всем добрый день

Цитировать
Necrian:
Пацаны, я нашел нармальный парсер для этого, если кому нужен пишите, отправлю


плз, вышли, а то тоже ищу решение, правда в обратную сторону,
а тут будет очень интересно и полезно
mailto:boratustra@yandex.ru
Название: конвертация xls в htm
Отправлено: Necrian от 18 Декабря 2003, 17:45:23
Кароче кому надо - вот :
http://www.gdg.spb.ru/xls2html.rar
Название: конвертация xls в htm
Отправлено: Кабан от 05 Сентября 2005, 02:57:52
Word2HTML Onlinе, XLS2HTML Onlinе

On line версия, не требующая загрузки находиться тут http://psylive.ru/word2html/
Вы можете бесплатно использовать этот конвертер, который преобразует текст из формата Word HTML (или любой другой слишком большой HMTL текст из буфера обмена) в "Чистый" формат HTML.
Особенности:

1. Это - обычное окно браузера, а не exe-шник. Не требует скачивания, не требует установки совместимость с буфером обмена Windows. Для правильной работы нужен только Интернет.

2.Собирает email адреса из кода html. (Получает все электронные адреса со страницы)

3.Получение ссылок (выдаются все ссылки со страницы).

4.Сохраняются абзацы, начертание (жирность, курсив, подчеркивание), выравнивание, списки, ссылки, таблицы

5. Таблицы (в т. ч. и из Excel) корректно преобразуются в html-таблицы

6. Удаляются скрипты, стили, размер, тип и цвет шрифта (что удалять, а что оставлять - настраивается)

7. Удаляются ненужные (невидимые) или неправильные свойства тегов

8. В отличии от обычного "Word"-> "Файл"-> "Сохранить как HTML" полученный html-код в десяток раз меньше за счет убирания мусора

9. Адреса URL, e-mail после выдергивания выдаются в отсортированном списке

10. Позволяет заменять строчки кода

11. Оптимизация кода может достигать 70%

12. Можно вообще удалить все теги и html код со страницы


Варианты использования:

1  Это отличный софт для web-мастеров, которые вынуждены регулярно работать с текстом
2  XLS2HTML Для оптимизации кода в таблицах, прайс листах, для последующего хранения.
3 Для веб издателей.
4 Для спамеров и граберов для получения email и url
5 Для нахождения контактных емайл обычным пользователям
6 Пожелания по расширению возможностей направлять на psyliveru@yandex.ru c пометкой "WORD2HTML"
7 Основной адрес проекта Psylive.ru


прошу не считать за рекламу, т.к. скрипт бесплатный, и действительно очень нужный программистам.
Название: конвертация xls в htm
Отправлено: CGVictor от 05 Сентября 2005, 12:01:02
Кабан
Идите лесом, товарищ. Подобных вещей - до дури.