Jak zaimportować plik excel do bazy danych MySQL

Czy ktoś może wyjaśnić jak zaimportować plik Microsoft Excel do bazy danych MySQL?

Na przykład moja tabela Excela wygląda tak:

Country   |   Amount   |   Qty
----------------------------------
America   |   93       |   0.60

Greece    |   9377     |   0.80

Australia |   9375     |   0.80
Z góry dzięki.

Fero

 59
Author: nickhar, 2009-08-21

10 answers

  1. Wyeksportuj go do jakiegoś formatu tekstowego. Najłatwiejsza będzie prawdopodobnie wersja rozdzielana tabulatorami, ale CSV może również działać.

  2. Użyj możliwości ładowania danych. Zobacz http://dev.mysql.com/doc/refman/5.1/en/load-data.html

  3. Spójrz w połowie strony, ponieważ daje to dobry przykład dla danych oddzielonych tabulatorami:

    Pola zakończone przez "\ t "zamknięte przez" \ "

  4. Sprawdź swoje dane. Czasami cytowanie lub ucieczka ma problemy, i trzeba dostosować swoje źródło, polecenie import -- lub może być po prostu łatwiejsze do post-processing przez SQL.

 41
Author: ndp,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-14 23:47:58

Istnieje proste narzędzie online, które może to zrobić o nazwie sqlizer.io .

Zrzut ekranu z sqlizer.com

Przesyłasz do niego plik XLSX, wprowadź nazwę arkusza i zakres komórek, a wygeneruje on instrukcję CREATE TABLE i kilka instrukcji INSERT, aby zaimportować wszystkie dane do bazy danych MySQL.

 86
Author: d4nt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-20 16:22:24

Istnieje kilka sposobów na zaimportowanie pliku excel do bazy danych MySQL z różnym stopniem złożoności i sukcesu.

  1. Excel2MySQL lub Navicat Narzędzia. Jestem autorem Excel2MySQL. Te 2 narzędzia nie są darmowe, ale są najprostszą opcją i mają najmniejsze ograniczenia. Zawierają one również dodatkowe funkcje ułatwiające importowanie danych Excel do MySQL. Na przykład automatycznie excel2mysql tworzy tabelę i automatycznie optymalizuje typy danych pól, takie jak daty, godziny, pływaki itp. Jeśli spieszysz się lub nie możesz uzyskać innych opcji pracy z danymi, te narzędzia mogą zaspokoić Twoje potrzeby.

    zrzut ekranu Excel2MySQL

  2. LOAD DATA INFILE: Ta popularna opcja jest prawdopodobnie najbardziej techniczna i wymaga pewnego zrozumienia wykonywania poleceń MySQL. Przed załadowaniem tabeli należy ręcznie utworzyć tabelę i użyć odpowiednio dobranych typów pól VARCHAR. Dlatego typy danych pól nie są zoptymalizowane. Załaduj plik danych ma problemy z importowaniem dużych plików, które przekraczają rozmiar 'max_allowed_packet'. Szczególna uwaga jest wymagana, aby uniknąć problemów z importowaniem znaków specjalnych i obcych znaków unicode. Oto niedawny przykład, którego użyłem do zaimportowania pliku csv o nazwie test.csv.

    Tutaj wpisz opis obrazka

  3. PhpMyAdmin : najpierw wybierz bazę danych, a następnie wybierz kartę Importuj. phpMyAdmin automatycznie utworzy Twoją tabelę i rozmiar pól VARCHAR, ale nie zoptymalizuje typów pól. phpMyAdmin ma problemy z importowaniem dużych plików, które przekraczają rozmiar 'max_allowed_packet'.

    Tutaj wpisz opis obrazka

  4. MySQL dla programu Excel : jest to darmowy dodatek do programu Excel od firmy Oracle. Ta opcja jest nieco żmudna, ponieważ używa kreatora, a import jest powolny i wadliwy w przypadku dużych plików, ale może to być dobra opcja dla małych plików z danymi VARCHAR. Pola nie są zoptymalizowane.

    Tutaj wpisz opis obrazka

 26
Author: panofish,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-19 19:20:36

Poniżej znajduje się kolejna metoda importowania danych arkusza kalkulacyjnego do bazy danych MySQL, która nie opiera się na żadnym dodatkowym oprogramowaniu. Załóżmy, że chcesz zaimportować tabelę Excel do tabeli {[1] } bazy danych MySQL o nazwie mydatabase.

  1. Wybierz odpowiednie komórki:

    Tutaj wpisz opis obrazka

  2. Wklej do Mr. Data Converter i wybierz Wyjście jako MySQL:

    Tutaj wpisz opis obrazka

  3. Zmiana nazwy tabeli i definicji kolumn aby dopasować swoje wymagania do generowanego wyjścia:

CREATE TABLE sales (
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  Country VARCHAR(255),
  Amount INT,
  Qty FLOAT
);
INSERT INTO sales
  (Country,Amount,Qty)
VALUES
  ('America',93,0.60),
  ('Greece',9377,0.80),
  ('Australia',9375,0.80);
  1. Jeśli używasz MySQL Workbench lub jesteś już zalogowany do mysql z linii poleceń, możesz bezpośrednio wykonać wygenerowane instrukcje SQL z kroku 3. W przeciwnym razie wklej kod do pliku tekstowego (np. import.sql) i wykonaj to polecenie z powłoki Uniksa:

    mysql mydatabase < import.sql

    Inne sposoby importowania z pliku SQL można znaleźć w to przepełnienie stosu odpowiedź .

 21
Author: thdoan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:55:03

Nie wiem, czy masz taką konfigurację, ale dla mnie używam PHP i MYSQL. Więc używam klasy PHP PHPExcel. Pobiera plik w prawie każdym formacie, xls, xlsx, cvs,... a następnie pozwala czytać i / lub wstawiać.

Więc to, co robię, to Ładowanie Excela do obiektu phpexcel, a następnie Pętla przez wszystkie wiersze. Na podstawie tego, co chcę, piszę proste polecenie SQL insert, aby wstawić dane w pliku excel do mojej tabeli.

Na przodzie to trochę pracy, ale to tylko kwestia poprawienia niektórych z istniejących przykładów kodu. Ale kiedy masz go wybierany w dokonywanie zmian w imporcie jest proste i szybkie.

 2
Author: user1441213,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-06 18:26:50

Najlepszym i najłatwiejszym sposobem jest użycie aplikacji" MySQL for Excel", która jest darmową aplikacją firmy oracle. ta aplikacja dodała wtyczkę do programu excel, aby eksportować i importować dane do mysql. możesz go pobrać z tutaj

 1
Author: Sadeq Shajary,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-26 07:03:21

Dla przykładu krok po kroku Importowanie Excela 2007 do MySQL z poprawnym kodowaniem (UTF-8) wyszukaj ten komentarz:

"napisany przez Mike Laird dnia Październik 13 2010 12: 50am"

W następnym URL:

Http://dev.mysql.com/doc/refman/5.1/en/load-data.html

 0
Author: Raúl Moreno,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-12 19:52:38

Podczas importowania danych za pomocą plików tekstowych miałem problemy z cudzysłowami i formatowaniem liczb w Excelu. Na przykład moja konfiguracja programu Excel używała przecinka jako separatora dziesiętnego zamiast kropki.

Teraz używam Microsoft Access 2010, aby otworzyć moją tabelę MySql jako tabelę połączoną. Tam mogę po prostu skopiować i wkleić komórki z programu Excel, aby uzyskać dostęp.

Aby to zrobić, najpierw zainstaluj sterownik MySql ODBC i Utwórz połączenie ODBC . Następnie w dostępie, w Zakładka "Dane zewnętrzne", Otwórz okno dialogowe "baza danych ODBC" i połącz się z dowolną tabelą za pomocą połączenia ODBC.

 0
Author: Christophe Weis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-12 10:39:19

Możesz użyć DocChow , bardzo intuicyjnego GIU do importowania Excela do MySQL i jest bezpłatny na większości popularnych platform (w tym Linuksa).

Bardziej, jeśli martwisz się o daty, DateTime datatypes, DocChow łatwo obsługuje typy danych. Jeśli pracujesz z wieloma arkuszami kalkulacyjnymi Excel, które chcesz zaimportować do jednej tabeli MySQL, DocChow wykonuje brudną robotę.

 0
Author: Seanj1000,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-15 21:19:32

Krok 1 Utwórz plik CSV

Krok 2 Zaloguj się do serwera mysql

     mysql -uroot -pyourpassword 

Krok 3 wczytaj plik csv

     load data local infile '//home/my-sys/my-excel.csv' into table my_tables fields terminated by ',' enclosed by '"' (Country, Amount,Qty);
 0
Author: Syed Shibli,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-10-05 12:15:44