> Lire un fichier excel avec phpIl est parfois très utile de pouvoir lire un fichier excel à la volée. Par exemple pour pouvoir rechercher et intégrer des données dans une base mysql, ou le convertir en xml ou csv. Un utilisateur peut l'ouvrir et effectuer des saisies rapidement qu'à partir d'une interface web, et directement sur son pc. Ou bien un client vous envoie quotidiennement son catalogue en excel sur un serveur ftp et vous ne voulez pas le convertir manuellement tous les jours en csv pour le récupérer.
Bref, il faut savoir lire un fichier excel.
J'utilise l'excellente classe phpExcelReader, téléchargeable sur http://sourceforge.net/projects/phpexcelreader .
Un exemple de code pour convertir un excel en csv :
<?
// ATTENTION, il faut modifier l'inclusion dans la classe qui comporte une erreur
// REMPLACER : require_once 'Spreadsheet/Excel/Reader/OLERead.php';
// PAR : require_once 'oleread.inc';
require_once 'Excel/reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('CP1251');
$data->read('c:/ftp/excel/backup.xls');
error_reporting(E_ALL ^ E_NOTICE);
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
$virg='';
$ligne='';
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
$ligne .= $virg.'"'.$data->sheets[0]['cells'][$i][$j].'"';
$virg=';';
}
$file[]=$ligne;
}
// on a bien un fichier csv dans le tableau $file :
foreach($file as $k=>$ligne)
{
echo $file.'<br>';
}
?>
retour