2010-09-16 3 views
3

У меня есть файл excel, содержащий около 5000 строк, которые нужно вставить в одну из таблиц mysql databse, может ли кто-нибудь дать быстрое и грязное решение? БлагодаряИмпорт данных Excel в базу данных mysql

+0

Это похоже на [3621798] (http://stackoverflow.com/questions/3621798) или [8031193] (http://stackoverflow.com/questions/8031193) – arober11

ответ

6

Быстрые и грязные:

Поместите вычисляемый столбец в Excel для создания «вставить» заявление. Затем COPY + PASTE все предложения в MySQL интерпретатор команд.

Ваша клетка должна иметь формулу так:

=CONCATENATE("insert into your table (col1, col2) values (", A1, ", ", B1, ");") 

Затем скопировать формулу на все строки, и вы будете иметь свой сценарий.

Другой быстрый & грязный:

Откройте ваш Excel файл с ACCESS, а затем использовать «Экспорт в ODBC» функцию, чтобы поместить данные в MySQL. Это немного сложнее, так как вам придется настроить драйвер ODBC и Connection, но если вы планируете делать это регулярно, это может быть лучшим выбором.

+2

У вас отличный контроль над этим (включая работу с автоматическими полями). – Rudu

+0

Хороший! Есть ли вероятность автоматического создания операторов столбцов, указав столбец начала и конца без лишних хлопот? –

+0

@Pekka Nice вопрос. К сожалению, я не знаю ответа. Думаю, наверное, да. –

1

Сохранить как CSV; используйте функцию «Импорт текстового файла» графического клиента mySQL, например, HeidiSQL для импорта.

1

Вы можете экспортировать Excel файл в файл CSV, а затем импортировать его в базу данных MySQL с помощью PhpMyAdmin.

1

Я делал это в прошлом, экспортируя файл в формате CSV. Создание вашей таблицы в MySQL, чтение CSV по строкам в PHP и использование explode для создания вашего запроса.

$file = fopen("myfile.csv", "r"); 
$sql = "INSERT INTO table(field1, field2, field3..."; 
while(!feof($file)) 
    { 
     $fields = explode(',', fgets($file)); 
     $sql .= "VALUES(" 
     foreach($fields as $field) 
     { 
     $sql .= "$field, "; 
     } 
     $sql = substr($sql, 0, -2); 
     $sql .= "), "; 
    } 
    $sql = substr($sql, 0, -2); 
fclose($file); 
    mysql_query($sql); 
0

Если у вас нет дополнительных инструментов, вокруг нет быстрого пути.

Вы можете написать макрос excel и передать данные через ODBC.

Вы можете экспортировать его в CSV затем импортировать его с помощью PHPMyAdmin

Вы можете экспортировать CSV затем написать сценарий AWK для преобразования данных CSV в набор операторов вставки

Вы можете использовать (язык вставки по выбору)

У вас есть ссылка ODBC? Есть ли у вас языки программирования? PHPMyAdmin? Какой-то другой инструмент MySQL?

Смежные вопросы