Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: EXEL => MySql
Forum PHP.pl > Forum > PHP
?
jak pobrać dane z exela
i wrzućić je do bazy w mysql ?

szukałem na forum znalazłem 1 ale tamo nie działa .
dzięki
scanner
Zdefiniuj pojęcie "nie działa"
?
serwer mi siada " zawiesza " na win kożystam z Foxserv 1.0 i mi się zawiesza .

powiedzmy , żę mam plik exel'a w któym jest 120 tys rekordów . a ja bym to wpisywał recznie do bazy przez 10 lat jak to .. więc chce sobie za jednym razem sprawe załątwic
scanner
A może po prostu wyeksportować do *.CSV (Comma Separated Values) i zaimportowac do MySQL poprzez PhpMyAdmin ?
?
też tak pomyślałem ale nie działa .

taki komunikt mi wyśwetla

[sql:1:a2207bfc59]
SQL-query:

dsds;dsds;dsds
sd;dsds;dsds
dsds;dsds;dsds
dsds;sd;s
ds;dsds;dsds
ds;d;dsds
sd;sd;ds
sd;ds;dsd
sds;sd;dsd
dsd;dsdsd;dsdsd

MySQL said: You have an error in your SQL syntax near 'dsds' at line 1


[/sql:1:a2207bfc59]

dane sa przykłdowe
scanner
o ku[rcze]
Wiesz, że *.csv to nie to co *.sql?

1. Otwierasz PhpMyAdmin
2. Klikasz tabelę do której chcesz wstawić plik textowy (*.csv)
3. Szukasz na stronie "Dodanie pliku tekstowego do tabeli" (dół strony)
4. Wypełniasz formularz
5. Have fun.


[post zmoderowany - Seth]
?
o ku[rcze] .,..

a myśli , żę jak robię

?
or Location of the textfile: klikam na przeglądaj wyszukuje swój plik o daje ok
i mysql mi zwraca to co Ci napisałem


[post zmoderowany - Seth]
scanner
Cytat
Location of the textfile:
Ten napis jest w sekcji SQL i dotyczy tylko dodawania plików SQL
Wykonaj moje polecenia z poprzedniego postu.
Seth
Podeslij mi plik na: sethmail@interia.pl to napisze Ci makro tworzace zrzut w postaci pliku sql.
kyob
ja korzystam z darmowego programu DBTools
Omega
A może po prostu ten plik jest błędnie napisany... :? :wink:
?
DBTools nie radzi sobie z tym. może inaczej . Mam plik textowy gdzie rekordy ustawiają się tak :


[sql:1:a22ccfd862]

nazwa::bla bla
nazwa2::bla bla 2
naza3::bla bla 3
itd...

[/sql:1:a22ccfd862]

jak zrobić , żenu to z tego pliku władowało mi się do bazy?

nazwa => kolumna " a "
bla bla bla = >kolumna " b "

mam nadzieje , że nie skoąplikowałem sprawy ... za bardzo

P.s . Jak dodaje do bazy " Dodanie pliku tekstowego do tabeli " to mi to nie działa mysql zwraca błąd :

[sql:1:a22ccfd862]
"test ang;7;test ger;;"
MySQL said: You have an error in your SQL syntax
[/sql:1:a22ccfd862]

a Zapisuje go prawidło z Exela do formatu *.CVS

zna kotos przyczynę niesprawnego działania tego czegoś .... ?
FiDO
Nie dalej jak wczoraj importowalem sobie dane z .csv do MySQL'a i uzylem tego: http://www.mysql.com/doc/en/LOAD_DATA.html
Dziala blyskawicznie.
?
ok napisałm juz skrypt

[php:1:d47cebf427]

<?php

$filename = 'index.txt';
$fp = fopen( $filename, 'r' );
$plik = fread($fp, filesize($filename));
fclose($fp);
$linie = explode ( "n", $plik );
foreach ($linie as $wiersz) {
list( $id, $cat ) = explode( '::', $wiersz );
$db_name = "ttt";
$table_name = "kategorie";
$connection = @mysql_connect("localhost", "***", "***")
or die("Couldn't connect.");
$db = mysql_select_db($db_name, $connection)
or die("Couldn't select database.");
$sql = "INSERT INTO $table_name
(id, cat)
VALUES
("$id","$cat")";
$result = mysql_query($sql,$connection)
or die("Couldn't execute query.");
}

?>[/php:1:d47cebf427]
skrypt działa szybko, wyskoczy błąd o przekroczeniu czasu wykonania ale dane są dodane do tabeli zamias exel jest plik txt
scanner
Czy nie byłoby lepszym rozwiązaniem zapisanie wszystkich insertów do pliku *.sql i następnie wykonanie go?
?
moża też tak ,ale po co ja mam wykonywać to jeżeli skrypt dodaje zamnie . No ale jeżeli zrobie po Twojemu pozbęde się błedu przekroczenia wykonania skryptu. popracuje nad tym skryptem i dam znac i może będzie można go sobie zcągnoć z mojego serwera
jareklan
ja to robie troche prościej mniej wyrafinowanie
Najpierw obrabiam plik EXEL do pliku txt:
otwórz plik w EXEL PLIK=>Zapisz jako: z menu rozwijanego zaznacz : text!! zapisz go przykładowo w : C:mysqlbinplik.txt !!!
póżniej wykonaj:
use database;
load data local infile "plik.txt" into table tabelka;[/sql]
cahe
Można odczytać dane przez COM (tylko pod Win) - więcej w manualu. (podajesz plik excela jako źródło), lub skorzystać z oprogramowania komercyjnego - http://www.zakkis.ca/products/abc_excelpar...arser/index.php

Darmowego do odczytywania nie widziałem :-(
Reder
CSV wywala mi nastepujacy blad gdy chce zaimportowac cennik w ktorym to cenniku jest kilka ? kilkanascie tysiecy rekordow.

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

Jak to rozwiazac?
cahe
Cytat
CSV wywala mi nastepujacy blad gdy chce zaimportowac cennik w ktorym to cenniku jest kilka ? kilkanascie tysiecy rekordow.

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

Jak to rozwiazac?


Jak mówi komunukat - błąd składni zapytania MySQL.
Reder
Tak juz to zrobilem...
Ale i tak dzieki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.