Adatcsere mysql és microsoft excel között

feladat
Információt kíván cserélni a MySQL és az Excel között.

A megoldás
Használjon olyan segédprogramokat, mint a DBTools és a MySQLFront. Vagy használjon olyan Perl modulokat, amelyek olvashatják és írhatják az Excel táblázatkezelő fájlokat saját adatátviteli segédprogramjaik létrehozásához.

• Spreadsheet :: ParseExcel :: Az egyszerű modul kényelmes felületet biztosít az Excel táblák olvasásához.

• A Spreadsheet :: WriteExcel :: Simple modul lehetővé teszi fájlok létrehozását Excel spreadsheet formátumban.

Ezek a modulok a Perl CPAN-ban érhetők el. (Ezek valójában külső interfészek más modulokhoz, amelyeket szintén telepíteni kell.) A modulok telepítéséhez a dokumentáció eléréséhez a következő parancsokat kell használni:

% perldoc Spreadsheet :: ParseExcel :: Egyszerű
% perldoc Spreadsheet :: WriteExcel :: Egyszerű

Ezek a modulok nagymértékben leegyszerűsítik a két kis szkript (lásd alább) írását, hogy a táblázatokat tabulált formátumúvá alakítsák és fordítva.


Ezekkel a szkriptekkel a MySQL adatok importálásával és exportálásával kombinálva áthelyezheti a táblázatok tartalmát a MySQL táblákra és fordítva.

Alkalmazhatja őket "ahogy van", vagy alkalmazkodni tud az Ön egyedi igényeihez.

Az from_excel.pl parancsfájl az Excel táblázatokat olvassa el, és azokat tabulátorral elválasztott értékek formátumaként alakítja át:

#! / usr / bin / perl -w
# from_excel.pl - olvas egy Excel táblázatot, írja
# a szabványos kimenet formátumban: a lap karakterek határolóként,
# linefeed karakter a vonal karakterének vége.
szigorúan használjon;
Spreadsheet használata :: ParseExcel :: Simple;
@ARGV vagy die "Használat: $ 0 excel-fájl \ n";
az én $ xls = Táblázat :: ParseExcel :: Simple-> read ($ ARGV [0]);
foreach my $ sheet ($ xls-> lapok ())
míg ($ lap-> has_data ())
az én @data = $ lap-> next_row ();
nyomtatási csatlakozás ("\ t", @data). "\ n";
>
>
kilépés (0);

A to_excel.pl parancsfájl végrehajtja a lapelhatárolt fájl olvasásának fordított műveletét, és Excel formátumban írja:

A to_excel.pl szkript elfogadja a bemenetet egy tabulátorral elválasztott értékek formátumában, az új sor karaktert pedig a vonal karakterének vége felé.


Annak érdekében, hogy más formátumú fájlokkal dolgozhasson, használhatja a cvt_file.pl programmal kombinálva.

Egy másik, az Excelhez kapcsolódó modul, a Perl, a Spreadsheet :: WriteExcel :: FromDB, DBI kapcsolat segítségével leolvassa az adatokat az asztalról, és azokat Excelbe írja. Tekintsünk egy kis szkriptet, amely exportálja a MySQL táblát Excel táblázatként:

#! / usr / bin / perl -w
# mysql_to_excel.pl - az adatbázis és táblák nevének megszerzése után,
# az asztalt Excel formátumba exportálja.
szigorúan használjon;
használja a DBI-t;
Spreadsheet használata :: ParseExcel :: Simple;
Spreadsheet használata :: WriteExcel :: FromDB;
#. parancssori opciók feldolgozása (nem látható).
@ARGV == 2 vagy die "Használat: $ 0 [opciók] db_name tbl_name \ n";
a $ db_name = shift (@ARGV);
az én $ tbl_name = shift (@ARGV);
#. kapcsolat az adatbázisba (nem látható).
my $ ss = Táblázat :: WriteExcel :: FromDB-> olvasás ($ dbh, $ tbl_name);
print $ ss-> as_xls ();
kilépés (0);

Mind a három segédprogram az eredményt szabványos kimenetre továbbítja, ahonnan átirányítható, például egy fájlba:

% from_excel.pl adatok.xls> data.txt
% to_excel.pl data.txt> data.xls
% mysql_to_excel.pl cookbook profil> profile.xls.

Kapcsolódó cikkek