[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выгрузка из Excel в MySQL
RuslanMRP
Привет, нужна помощь! Как реализовать выгрузку из Excel в MySQL.



Спустя 31 минута, 52 секунды (18.09.2010 - 10:12) phz написал(а):
Сохрани экселевский файл в формате CSV. Импорт в MySQL сделай через phpMyAdmin. Но эта тема прокатит только если у тебя числовые данные.

Если там есть текст с запятыми тебе придется сохранять данные из экселя в формате «Текст с разделителями TAB» и писать свой скрипт-парсер для импорта данных в БД. (Вопросы и ответы google)

Спустя 3 минуты, 49 секунд (18.09.2010 - 10:16) RuslanMRP написал(а):
Где в phpMyAdmin Импорт?

Спустя 9 минут, 1 секунда (18.09.2010 - 10:25) Lenarfate написал(а):
RuslanMRP
там, где кнопка ИМПОРТ

Спустя 1 минута, 23 секунды (18.09.2010 - 10:26) phz написал(а):
У меня тут:

user posted image

Спустя 37 секунд (18.09.2010 - 10:27) RuslanMRP написал(а):
Оригинально! Но у меня только Экспорт!

Спустя 1 минута, 6 секунд (18.09.2010 - 10:28) RuslanMRP написал(а):
Может из-за того что русская версия?

Спустя 26 минут, 37 секунд (18.09.2010 - 10:55) Michael написал(а):
Цитата (RuslanMRP @ 18.09.2010 - 09:28)
Может из-за того что русская версия?

нет

Спустя 9 минут, 9 секунд (18.09.2010 - 11:04) RuslanMRP написал(а):
А из-за чего, что у меня руки из ....... ? smile.gif


Помогите!

Спустя 16 минут, 7 секунд (18.09.2010 - 11:20) Michael написал(а):
Наверное старая версия phpmyadmin. У меня - 3.1.4.

Спустя 3 минуты, 49 секунд (18.09.2010 - 11:24) RuslanMRP написал(а):
У меня 3. Переустанолю


А как формировать файл в Excel?

БД есть с таблицей и есть одна запись.

mysql_query('CREATE TABLE PRICELIST(
id int(11) primary key auto_increment,
nametovar varchar(50) not null,
artikul varchar(50) not null,
opisanie varchar(100) not null,
cena numeric(9,3) not null,
image varchar(50) not null
)'
);


Например:
mysql_query('INSERT INTO PRICELIST (nametovar,artikul,opisanie,cena,image) values("Фильтр масляный","458123","ывралгаыфлаиыгиыаиыиаылиаыиаиыаиыфал ыаилыфаиыоиаыли ыаифиаыфалиыаи", 25000,"213432.jpg")');

Спустя 3 минуты, 35 секунд (18.09.2010 - 11:27) Michael написал(а):
Цитата (RuslanMRP)
Как реализовать выгрузку из Excel в MySQL.


Цитата (RuslanMRP)
А как формировать файл в Excel?


так что все таки надо: из какого то существующего файла .xls вытянуть данные в mysql или средствами php создать файл .xls ?

Спустя 4 минуты, 13 секунд (18.09.2010 - 11:32) RuslanMRP написал(а):
Я имею ввиду, надо просто заполнить excel ячейки. А как она распознает какую ячейку к какой ячеки таблицы в БД заполнять. Поочередно берет!



Спустя 4 минуты, 25 секунд (18.09.2010 - 11:36) Michael написал(а):
Цитата (RuslanMRP @ 18.09.2010 - 10:32)
Я имею ввиду, надо просто заполнить excel ячейки. А как она распознает какую ячейку к какой ячеки таблицы в БД заполнять. Поочередно берет!

Аватарка тебе очень подходит laugh.gif . Объяснил - хоть стой хоть падай ...

Спустя 11 минут, 6 секунд (18.09.2010 - 11:47) RuslanMRP написал(а):
Стараемся! smile.gif


У меня имееться база: TAR
	mysql_query('CREATE TABLE PRICELIST( 
id int(11) primary key auto_increment,
nametovar varchar(50) not null,
artikul varchar(50) not null,
opisanie varchar(100) not null,
cena numeric(9,3) not null,
image varchar(100) not null
)'
);





Захожу в Excel заполняю ячейки

A1 - пустая
B1 - фильтр
С1 - 1341
D1 - фильтр масляный
E1 - 50000
F1 - 1341.jpg

Так нужно?

Спустя 1 час, 33 минуты, 40 секунд (18.09.2010 - 13:21) RuslanMRP написал(а):
Есть очень простой способ выгрузки с обычного TXT. А как с XLS?
<?php 
// Устанавливаем соединение с базой данных
include "setup/opt.php";
// Помещаем содержимое файла в массив $arr
// Одна строка файла - один элемент массива

$arr = file("text.txt");
// В цикле производим разбор каждой строки
// формируем многострочный INSERT-запрос

$sql = "INSERT INTO PRICELIST VALUES ";
$i = 1;
foreach($arr as $line)
{
// Разбиваем строку по запятой
$number = explode(",",$line);
// Уничтожаем последний элмемент с комментарием
unset($number[13]);
// Формируем строку многострочного INSERT (1,2,...,10)
$order = "($i,";
foreach($number as $num)
{
$order .= "$num,";
}
// Удаляем последнюю лишнюю запятую и
// добавляем закрывающую скобку

$order = substr($order,0,strlen($order) - 1).")";
$sql .= "$order,";
$i++;
}
// Удаляем последнюю лишнюю запятую и
// добавляем закрывающую скобку

$sql = substr($sql,0,strlen($sql) - 1);
// Выполняем SQL-запрос
if(!mysql_query($sql))
{
echo $sql."<br>";
echo "Ошибка - ".mysql_error();
}
?>

Спустя 47 минут, 23 секунды (18.09.2010 - 14:08) Michael написал(а):
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.