RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 344
от 18.05.2006, 17:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 301, Экспертов: 46
В номере:Вопросов: 1, Ответов: 3


Вопрос № 42888: Здравствуйте, уважаемые эксперты. Пишу продолжение к моему вопросу №42618. Теперь задача несколько усложнилась. Моя таблица состоит из 11-и столбцов с разным содержанием (имена, даты и т.п.). Все данные хранятся в виде электронной таблицы Microsoft E...

Вопрос № 42.888
Здравствуйте, уважаемые эксперты. Пишу продолжение к моему вопросу №42618. Теперь задача несколько усложнилась. Моя таблица состоит из 11-и столбцов с разным содержанием (имена, даты и т.п.). Все данные хранятся в виде электронной таблицы Microsoft Excel. Подскажите, пожайлуста, как загнать содержимое этой таблицы в массив для последующей обработки (вывода, сортировки и т.д.). Функция file подходит только для небольших файлов. Функция fgetcsv тоже, думаю, не поможет. Что Вы посоветуете?
Отправлен: 12.05.2006, 20:27
Вопрос задал: Cool_guy (статус: 3-ий класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Константин
Здравствуйте, Cool_guy!
Отвечаю на оба вопроса. Есть два варианта решения. Первый. Пишешь и читаешь не .xls, а .csv.
Второй, более правильный. Идешь на pear.php.net или phpcalsses.org и ищешь там по запросу excel.
Для записи есть класс spreadsheet_excel_writer или как-то так. Для чтения, тоже пользовался, но названия не помню. Вообще-то это не проблема. С phpclasses.org можно столько всего интересного наскачивать.... Кроме этого, если хостинг windows, то можно юзать ком-технологию. Насчет этого - на php.net.
Я пользовался классами с http://www.phpclasses.org/
Там поищи, уверен что найдешь.
---------
Лучше сделать и жалеть, чем жалеть о том что не сделал
Ответ отправил: Константин (статус: 4-ый класс)
Ответ отправлен: 12.05.2006, 21:41
Оценка за ответ: 5
Комментарий оценки:
Спасибо, попробую

Отвечает: Cybernetic_Creature
Здравствуйте, Cool_guy!
в Excel-e есть возможность сохранения файлов как CSV.вы можете так сделать и читать.
есть еще один вариант.мой, но не очень то и хороший.
вообщем я так делаю
беру свободную ячейку (L1) и пишу туда
=СЦЕПИТЬ("insert into mytable values(",A1,",",B1,",",C1,",",D1,",",E1,",",F1,",",G1,",",H1,",",I1,",",J1,",",K1,");")
(если есть строки то их надо писать с одинарнымикавычками. например так-,",'",H1,"',",)
а потом методом перетаскивания применяю это ко всем строкам.и копирую нужный столбец в SQL Editor, и нажимаю F9(выполнить).
метод конечно не очень хороший, но довольно быстрый когда нет других возможностей.
а хотя есть еще одна возможность.
можно сохранить в excel-е в формате dbf. потом datapump-ом кидаете этот файл в БД.но этот метод выходит за пределы программирования в РНР.
в кратце скажу что нужна установленная BDE (Borland Database Engine), MyODBC (если вы работаете с МуСКЛ-ом.) или же другая ПО для коннекта к базе через ODBC, DATAPUMP (программа для перебрасывания таблиц одного формата в другой)
Ответ отправил: Cybernetic_Creature (статус: Специалист)
Ответ отправлен: 13.05.2006, 09:46

Отвечает: Santana
Здравствуйте, Cool_guy!
Попробуй COM-технологии (см. http://ua2.php.net/ru/com). Правда у меня возникали проблемы. Во первых сервер грузил нещадно, после 5-10 процессов сервер сдыхал. Во вторых процесс выгружается через раз, приходилось ручками пришибать. Если получится поделись, буду обязан :)
Гипотетически могу предложить конвертить таблицу Microsoft Excel в CSV и с ним работать.
Исчо есть формат XML с PHP работает аж бегом. Но он у меня пока в проекции.
Ответ отправил: Santana (статус: 2-ой класс)
Ответ отправлен: 15.05.2006, 11:47


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.32 от 03.05.2006
Яндекс Rambler's Top100

В избранное