Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como fazer upload do Excel ou CSV para o banco de dados MySQL usando PHP?


CSV
Se você puder converter o arquivo Excel para CSV primeiro, poderá usar mysqlimport para importar CSV. Este é provavelmente o método mais rápido para obter os dados no MySQL.

Você pode fazer isso a partir do PHP usando LOAD DATA INFILE . Esta é uma instrução SQL de exemplo para importar 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
Se você não pode usar CSV e precisa trabalhar com arquivos brutos do Excel, você precisará de uma biblioteca PHP que seja capaz de ler arquivos do Excel.

Existem alguns disponíveis, mas não sei quão confiáveis ​​​​ou quão bem mantidos eles são:

Pera:Spreadsheet_Excel_Writer

PHPExcel

PHP-ExcelReader

Você também pode querer examinar a abordagem alternativa de usar a API do Excel, mas precisará do Excel instalado para fazer isso. Tem um pouco de informação sobre isso aqui:

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

Se você usar essa abordagem, precisará escrever algum código que leia e analise o arquivo do Excel e o envie para o MySQL linha por linha. Isso pode funcionar muito mais devagar do que uma importação de CSV em massa.