Schimb de date între mysql și microsoft excel

sarcină
Vrei să schimbi informații între MySQL și Excel.

Soluția
Utilizați utilitare cum ar fi DBTools și MySQLFront. Sau, utilizați modulele Perl care citesc și scriu fișiere Excel pentru a crea propriile utilitare de transfer de date.







• Foaie de calcul :: ParseExcel :: Modul simplu oferă o interfață convenabilă pentru citirea tabelelor Excel.

• Modulul Spreadsheet :: WriteExcel :: Simple vă permite să creați fișiere în format de foi de calcul Excel.

Aceste module sunt disponibile în CPAN-ul Perl. (Acestea sunt de fapt interfețe externe cu alte module, care trebuie, de asemenea, să fie instalate în prealabil.) După instalarea modulelor pentru a accesa documentația lor, utilizați următoarele comenzi:

% perldoc Foaie de calcul :: ParseExcel :: Simplu
Foaie de calcul perldoc :: WriteExcel :: Simplu

Aceste module simplifică foarte mult scrierea a două scripturi mici (prezentate mai jos) pentru conversia foilor de calcul în format delimitat în tab și invers.


Folosind aceste scripturi în combinație cu metodele de import și export al datelor MySQL, puteți muta conținutul foilor de calcul spre tabelele MySQL și invers.

Puteți să le aplicați "ca atare" sau să vă adaptați cerințelor dvs. specifice.

Scriptul from_excel.pl citește foi de calcul Excel și le transformă într-un format de valori separate de file:







#! / usr / bin / perl -w
# from_excel.pl - citește o foaie de calcul Excel, scrie
# în ieșirea standard în format: caracterele tabel ca delimitatori,
Caracterul # linefeed este caracterul de sfârșit al liniei.
utilizați stricte;
utilizați foaia de calcul :: ParseExcel :: Simplu;
@ARGV sau mor "Utilizare: $ 0 excel-file \ n";
meu $ xls = Foaie de calcul :: ParseExcel :: Simple-> read ($ ARGV [0]);
foreach foaia mea de $ ($ xls-> foi ())
în timp ce ($ sheet-> has_data ())
meu @data = $ foaie-> next_row ();
imprimare join ("\ t", @ data). "\ n";
>
>
ieșire (0);

Scriptul to_excel.pl efectuează operația inversă de citire a fișierului delimitat de tab și îl scrie în format Excel:

Scriptul to_excel.pl acceptă intrarea în format de valori separate de tab-uri, cu un caracter de linie nouă ca caracter de sfârșit de linie.


Pentru ca acesta să funcționeze cu fișiere într-un format diferit, utilizați-l în combinație cu cvt_file.pl.

Un alt modul asociat Excel, Perl, Spreadsheet :: WriteExcel :: FromDB, citește datele din tabel folosind o conexiune DBI și le scrie în Excel. Luați în considerare un mic script care exportă un tabel MySQL ca foaie de calcul Excel:

#! / usr / bin / perl -w
# mysql_to_excel.pl - după obținerea numelor bazei de date și a tabelelor,
# descărcă tabelul în ieșirea standard în format Excel.
utilizați stricte;
utilizați DBI;
utilizați foaia de calcul :: ParseExcel :: Simplu;
utilizați foaia de calcul :: WriteExcel :: FromDB;
#. procesarea opțiunilor liniei de comandă (nu este afișată).
@ARGV == 2 sau mor "Utilizare: $ 0 [opțiuni] db_name tbl_name \ n";
$ db_name = schimbare (@ARGV);
numele meu $ tbl_name = schimbare (@ARGV);
#. conectarea la baza de date (nu este afișată).
meu $ ss = Spreadsheet :: WriteExcel :: DinDB-> citește ($ dbh, $ tbl_name);
print $ ss-> as_xls ();
ieșire (0);

Toate cele trei utilitare trimit rezultatul la ieșirea standard, de unde poate fi redirecționat, de exemplu, la un fișier:

% from_excel.pl data.xls> data.txt
% to_excel.pl date.txt> data.xls
% mysql_to_excel.pl profil cartea de bucate> profil.xls.







Articole similare

Trimiteți-le prietenilor: