Forum Webscript.Ru
Общие => Базы данных => Тема начата: Dj Fly от 28 Декабря 2001, 01:08:51
-
Вопрос прост, но важен до ужаса... Я думаю многие об этом задумывались... Как загнать автоматом .xls-файл в базу MySQL?
Конечно можно использовать утилиты типа DBTools, но такова задача - делать это автоматом... То есть скрипт должен сжирать .xls файл и вгонять его содержимое в базу...
-
Hi.
Здесь описанно как выдергивать данные Perl\'ом
http://www-106.ibm.com/developerworks/linux/library/l-pexcel/
ну а как работать с MySQL\'ем знаете?
-
С MySQL-ем сравлюсь, спасибо...
А вот с перлом дела не имел до сих пор...
Придётся встретиться :-)))
Единственно что...
Я видел реализацию парсинга excel-файлов на сайте, с виду сделанном с использованием только РНР... Суппорт этого сайта ответил, что они смешивали РНР и XML... Интересно как....
-
vladsu
интересно, не знал, кстати на форуме этот вопрос не раз поднимался.
еще как вариант, можно преобразовывать xls в csv и парсить его уже как текстовый файл (в php есть хорошая ф-я fgetcsv).
-
можно преобразовывать xls в csv
Конечно, зачем себе геморр наживать с ёкселем, тем паче, что еще модуль под версию придется подбирать или модифицировать. Создал связь xls->csv и живи спокойно
-
Да вот в том, то и дело, что когда вопрос встал ребром - "преобразование не ручками" - то первой мыслью у меня было сохранить xls как csv и делов-то... :-)))
Но потом я вспомнил, кто потом это будет админить - сайт то надо привести в причёсанное и удобоваримое для начальства состояние...
DBToolz - получше - можно провести им курс обучения, но тоже не совсем способ... Так что вот и ищу себе геморр :-)))
-
Britva
зачем fgetcsv ?
В MySQL есть прекрасная команда load data in file
-
Ага, и заливать все файло в longblob, а борзюк пусть парсит ексельки сам ;)
-
Stek
ага, просто если надо еще как то обработать данные перед запихиваением в таблицу, лучше fgetcsv.
-
Хм, а Load data in file разве парсит xls? В том то и суть, что я уже добился связями по сетке полностью структурированного - чётко табличного xls-файла, но мне нужна его копия в базе - то есть с сохранением названий полей и всех значений ячеек...
-
Hi.
Ну и положите файл в базу, это будет самое точное сохронение :)
-
Не могу понять суть проблемы. Какая разница начальству, что будет заливаться в базу. Екселька или сиэсви? Пусть себе лабает в екселе. Напиши банальный макрос, чтобы тот сохранял в формате cvs, и затем каким-либо способом доставишь это файло на сервак в базу.
Ну нажмет он пару лишних кнопок или щелкнет мышью. Не развалится.
А дальше, в зависимости от привелегий.
Либо load data or load data local......... replase и т.д.
-
О, народ, супер...
Ведь действительно, написать макрос!!!!!
Спасибо, отличная идея...
Правда я совершенно не соображаю как писать макросы под excel но думаю разберусь... Если для кого-то это - 2 пальца - то есть легко написать прямо здесь, то буду очень благодарен, а не то придётся разбираться самому... Было бы классно, если бы макрос автоматом сохранял CSV в отдельный файл рядом с собой в той же директории...
-
Hi
Dj Fly А вот с перлом дела не имел до сих пор...
Перл не так труден как кажется! Я не программер, но как мне кажется :) и то разобрался.
Britva не знал
теперь знаете? :) У меня много хороших линков, обращайтесь!
Unregistered зачем себе геморр наживать с ёкселем, тем паче, что еще модуль под версию придется подбирать или модифицировать
Так давайте попросим Била не писать новых версий Excel\'а или на кой хрен придумали эти USB, жили с COM и LPT, а то бедняге Линусу пришлось модули писать :) и я не думаю, что Вы продолжали бы работать с 3DStudio под DOS\'ом по сей день, только потому, что Вам под NT или 2000 пришлось бы ставить и изучать 3DMax.
To All,
ребят я Вам конечно не советчик, но не проще ли жить по принципу как можно легче, изучить один раз Perl в место shell, sed, awk и еще бог знает чего, того же PHP :). А геморой, по моему, как раз и заключается в конвертировании из одного формата в другой и написании макросов, тем более, что, скорее всего, их необходимо будет переписывать при переходе на новый OfficeXP.
!!!Моя субъективная точка зрения!!!
-
vladsu
На данные момент PHP как раз более перспективен для изучения , нежели PERL.
-
У. перловая хреновина. Можно портировать на РНР.
-
Вообщем-то тема была про excel->mysql а не про
У. перловая хреновина
уже достали споры php/perl программеров :)
-
Правда я совершенно не соображаю как писать макросы под excel
В твоем случае ничего писать самостоятельно не требуется.
Нажмешь кнопку "записать макрос" проделаешь все необходимые действия, остановишь запись..., если надо посмотришь код и подправишь.
Так давайте попросим Била не писать новых версий Excel\'а
изучить один раз Perl в место shell, sed, awk
Ну и зачем ты все это написал? Начльник этого товарища работает в екселе!! И не собирается на своем компе устанавливать ни перл, ни апач, ни даже мускул. Ко всему прочему, файл cvs будет гораздо легче, чем ёксель-моксель с таким же количеством данных раз в 50. Так что проще грузить на сервак?
-
Слава богу, боссы у меня консервативные - до сих пор сидят на 97-м оффисе, с ним легче :-)))
-
2Britva :
Так я не спорю. Каждый язык под свою задачу.
А темка актуальная. Теоретически (люблю теоретические выкладки :)) делается такая вещь разбором xls файла, как бинарника в соответствии с его стандартом. Описание стандарта есть в сетке.
-
А темка актуальная. Теоретически (люблю теоретические выкладки ) делается такая вещь разбором xls файла, как бинарника в соответствии с его стандартом. Описание стандарта есть в сетке.
На sourceforge.net был проэкт по написанию класса для работы с XLS (именно xls а не CSV)
-
Может быть. Я туда давно уже не лазил. :(
-
PHP как раз более перспективен
Во-во, мне тоже так кажется...
Не берусь утверждать, но по-моему, РНР - намного помоложе перла, что уже о многом говорит...
-
Hi.
:hi: Всех с наступающим! :hi:
:beer:
Не буду убеждать ни кого переходить на Perl, и спорить что лучше, это дело вкуса, как в анекдоте: "Кто любит теплую водку и потных женщин? А, Петров! Вот у нас будет отпуск летом, а у все остальных зимой!" - можно смеяться!
Но вот готовый вариант, без всяких csv, хотите, используйте!
http://ftp://ftp.dn.ru/pub/MySQL/Downloads/Contrib/excel2mysql
-
Какая-то нехорошая ссылочка. Машинку пытается подвесить. :(
-
Спасибо за готовый скрипт!
ВСЕХ С НОВЫМ ГОДОМ!!!!!!!!!
Проведите этот иногда грустный праздник - в этот раз весело.
-
Вообще подобная проблема стоит давно.
На Exel можно написать макрос которій сам будет перегонять данные прямо в базу MySql. Готового макроса я не видел, но неплохой пример для начала http://www.kofler.cc/mysql/mssql2mysql.html
-
Программы Access-to-MySQL, MySQL-to-Access, MySQL-to-Excel здесь http://www.convert-in.com/software.htm
-
Меня жаба задушить столько платить. Я лучше посижу месяца два и напишу сам.
-
Hi.
Я не понимаю, Вы мазахисты?
Я Вам дал готовый и бесплатный!
-
Мы не мазохисты. Мне гораздо интереснее написать самому. И с точки зрения изучения языка это полезнее.
-
Народ, да всё уже классно, я уже отдал знакомому VBA программеру на переработку макрос - который MsSQL->MySQL...
Это оказалось оптимальным решением, бо оно легче всего для конечного пользователя....
-
Нашёл я скрипт: тута его листинг:
http://www.lumbroso.com/scripts/source_view.php?path=csv2sql_code/csv2sql.phps