Автор Тема: Как импортировать таблицу Excel в MySQL?  (Прочитано 3798 раз)

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

Оффлайн Qwentor

  • Пользователь
  • Сообщений: 935
  • Пол: Мужской
    • ВКонтакте
    • Просмотр профиля
Как импортировать таблицу Excel в MySQL?
Имеется огромная таблица размером где-то 150х800. Вручную ковыряться до конца жизни. Имеются не только числа, но и текст на русском языке со знаками препинания и абзацами.
Чем бы это конвертировать?

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Re: Как импортировать таблицу Excel в MySQL?
« Ответ #1 : 29 Апрель 2012, 02:28:44 »
Здесь не помогли?
По-моему, задача имеет готовое решение. И неважно, что там 150 полей, сделай их текстовыми. Или что там у тебя, описание очень неясное.

Оффлайн SQR218

  • Пользователь
  • Сообщений: 319
  • Пол: Мужской
    • Просмотр профиля
Re: Как импортировать таблицу Excel в MySQL?
« Ответ #2 : 29 Апрель 2012, 06:33:52 »
http://rus-linux.net/lib.php?name=/MyLDP/subd/excel/reading-excel.html — вот тут довольно подробно описано. Примеры там на перле.

Оффлайн Qwentor

  • Пользователь
  • Сообщений: 935
  • Пол: Мужской
    • ВКонтакте
    • Просмотр профиля
Re: Как импортировать таблицу Excel в MySQL?
« Ответ #3 : 29 Апрель 2012, 19:20:59 »
Создал вручную все поля, пометил их как текстовые. Таблица вроде заполнилась. Но выдает шибку:
1366 - Incorrect string value: '\xE2\x80\x95 \xD0\xB2...' for column 'Примечание' at row 46
 
В этой строке в исходной таблице пусто, и в соседних тоже. На глаз вроде все перенеслось, но только на глаз. По факту хз. Пишет, что еще 99 ошибок. Переносил Navicat for MySQL. В чем м.б. дело?

Оффлайн Sageptr

  • Пользователь
  • Сообщений: 22
    • Просмотр профиля
Re: Как импортировать таблицу Excel в MySQL?
« Ответ #4 : 29 Апрель 2012, 21:55:20 »
Самый простой на мой взгляд вариант - это сохраняем в формате CSV и с помощью PHP читаем. Только могут быть сложности с текстовыми полями, если в них содержится символ-разделитель.

Второй способ - сохраняем в xlsx (формат 2007 офиса), внутри он представляет из себя ZIP-архив XML-файлов. Там несложно, только учти, строквые поля кодируются не как есть, а только номера строк, сами же строки хранятся в отдельном XML-файле.
« Последнее редактирование: 29 Апрель 2012, 22:01:53 от Sageptr »

Оффлайн Qwentor

  • Пользователь
  • Сообщений: 935
  • Пол: Мужской
    • ВКонтакте
    • Просмотр профиля
Re: Как импортировать таблицу Excel в MySQL?
« Ответ #5 : 01 Май 2012, 19:23:14 »
Перевел все в UTF-8 и сконвертировалось без ошибок