Импорт данных из EXCEL в SQL

anton831
На сайте с 25.05.2011
Offline
71
3963

Добрый день, подскажите каким образом я могу реализовать следующую схему.

В форму на сайте закачиваю фаил xls либо xlsx.

Фаил определенного формата, т.е верхняя строка шапка - не обрабатывается, все остальные данные - обрабатываются.

Далее, после загрузки фаила в папку - запускается SQL запрос, который обновляет определенную таблицу в БД с именем листа excel, по структуре соответствующей закачанному фаилу.

Подскажите пожалуйста как составить запрос.

V
На сайте с 27.04.2009
Offline
46
#1

По-моему, нужно csv или xml использовать.

Мое детище, которое холю и лелею (http://quicktuts.ru/) Беспроводной интернет, антенны Yota (http://skylink.ws/Yota/) Профессиональный хостинг. Бесплатный домен. Безлимитный трафик. (http://goo.gl/MMvWNj)
TF-Studio
На сайте с 17.08.2010
Offline
334
#2

по-моему есть класс, для работы с xls.

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
М
На сайте с 08.02.2006
Offline
59
#3

Есть такое http://www.codeplex.com/PHPExcel, правда, памяти жрет много

anton831
На сайте с 25.05.2011
Offline
71
#4

А по классу, можно поподробнее?

Насколько он универсален, в том плане что со всеми выпусками excel работает, или под каждый индивидуально надо свой класс искать?

М
На сайте с 08.02.2006
Offline
59
#5
А по классу, можно поподробнее?
Насколько он универсален, в том плане что со всеми выпусками excel работает, или под каждый индивидуально надо свой класс искать?

PHPExcel кушает все - 2000,2003,XP,2007,Calc,Gnumeric,Csv

anton831
На сайте с 25.05.2011
Offline
71
#6
Магнат:
PHPExcel кушает все - 2000,2003,XP,2007,Calc,Gnumeric,Csv

Подскажите пожалуйста как его правильно инициализировать.

Я скачал, но в английском не силен, мануал прочесть не могу.

М
На сайте с 08.02.2006
Offline
59
#7
anton831
На сайте с 25.05.2011
Offline
71
#8

Это я читал, но там описывается вывод данных в excel и метод load для чтения шаблона,

мне нужно немного другое, я наоборот хочу прочитать построчно excel и обновить либо создать новую строку в таблице бд для каждой записи.

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

Но все равно спасибо, информация без сомнения очень полезная.

То есть я в принципе понял, что за это отвечает класс IOFactory.php, но несовсем понял как правильно обработать им таблицу, чтоб получить нужные данные из нее, какие методы использовать для этого?

М
На сайте с 08.02.2006
Offline
59
#9


$objPHPExcel = PHPExcel_IOFactory::load("путь к файлу"); // При загрузке файла через форму $_FILES[...]['tmp_name']
$sheet = $objPHPExcel->setActiveSheetIndex(0); // Выбираем первый лист

foreach ($sheet->getRowIterator() as $rownum=>$row) {
foreach ($row->getCellIterator() as $colnum=>$cell) {
$val = $cell->getCalculatedValue(); // Это значение конкретной ячейки
// $rownum - номер строки, начиная с 0
// $row - объект строки
// $colnum - номер столбца начиная с 1
// $cell - объект ячейки
}
}
anton831
На сайте с 25.05.2011
Offline
71
#10

Магнат, Спасибо огромное!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий