Články‎ > ‎

PHP: Jak číst ze souborů XLS

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).