Update 2012: toto je stará verze článku někdy z roku 2006, dnes již existují parádní knihovny na čtení - http://code.google.com/p/php-excel-reader/ nebo http://phpexcel.codeplex.com/.
V PHP není sama o sobě možnost jak číst ze souborů ve formátu XLS. Stojíte-li před problémem jak dostat data z XLS souboru do aplikace v nějakém lepsím formátu, zde je řešení. V Javě je napsaná knihovna pro čtení XLS souborů a jednou z funkcí je jejich převod do formátu CSV, se kterým se dá už docela pohodlně v PHP pracovat. Jde o Java Excel API.
Pro spuštění je na serveru vyžadováno Java 2 JDK - jak na to není předmětem tohoto článku, určitě to s pomocí Google najdete a nastavíte :-)
Následuje kód, kterým provedeme zavolání komponenty Java Excel API a načteme výstup z převodu XLS souboru. Je třeba správně nastavit cestu kde je instalováno Java Excel API.
$pp = popen ("java -jar /cesta_k_jexcelapi/jxl.jar -csv ".$file, "r"); // $file - cesta ke XLS souboru
if($pp)
{
while( !feof( $pp ) )
{
$output .= fgets( $pp, 4096);
}
pclose($pp);
}
V proměnné $output
je převedený XLS soubor do formátu CSV a je možné s ním dále pracovat (buď přímo zpracovat nebo uložit do souboru a potom pomocí funkce fgetcsv()
načíst a zpracovat).