sql >> Database teknologi >  >> RDS >> Mysql

Hvordan uploader man Excel eller CSV til MySQL-database ved hjælp af PHP?

CSV
Hvis du først kan konvertere Excel-filen til CSV, kan du bruge mysqlimport at importere CSV. Dette er sandsynligvis den hurtigste metode til at få dataene ind i MySQL.

Du kan gøre dette fra PHP ved at bruge LOAD DATA INFILE . Dette er et eksempel på en SQL-sætning til at importere data.csv :

LOAD DATA INFILE 'data.csv' INTO TABLE phonenumber_list
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;

Excel
Hvis du ikke kan bruge CSV og har brug for at arbejde med rå Excel-filer, skal du bruge et PHP-bibliotek, som er i stand til at læse Excel-filer.

Der er et par stykker tilgængelige, men jeg ved ikke, hvor pålidelige eller velholdte de er:

Pære:Spreadsheet_Excel_Writer

PHPExcel

PHP-ExcelReader

Du vil måske også se på den alternative tilgang til at bruge Excel API, men du skal have Excel installeret for at gøre det. Der er lidt information om det her:

http://www.sydphp.org/presentations/010606-excel.html

Hvis du bruger denne tilgang, bliver du nødt til at skrive noget kode, der læser og analyserer Excel-filen og sender den til MySQL række-for-række. Dette kan gå meget langsommere end en masse-CSV-import.



  1. Søgeord ikke understøttet:Metadata

  2. Hvordan kan jeg undertrykke kolonneoverskriftsoutput for en enkelt SQL-sætning?

  3. Er der et fald i ydeevnen, hvis der er for mange kolonner i en tabel?

  4. Skal jeg indeksere et bitfelt i SQL Server?