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.