Как читать несколько листов из одного файла Excel в PHP? - PullRequest
4 голосов
/ 06 октября 2010

У меня есть лист Excel с тремя листами, у меня проблемы с получением записей со второго листа.

Все три листа имеют разные записи и разные поля, я пытаюсь найти их в Google, но не могу найти решение.

Ответы [ 2 ]

3 голосов
/ 06 октября 2010

Можете сослаться,

http://phpexcel.codeplex.com/

Это хороший проект, разработанный для читателей и писателей Excel. Вы можете использовать его для своего проекта. В нем есть все необходимые методы, необходимые для Excel.

2 голосов
/ 03 сентября 2016

/** Include path **/
set_include_path(get_include_path() . PATH_SEPARATOR . 'Classes/');
include 'PHPExcel/IOFactory.php';
$file = '/media/sf_E_DRIVE/om/newData.xlsx';
$inputFileType = PHPExcel_IOFactory::identify($file);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($file);
$objWorksheet = $objPHPExcel->getActiveSheet();
$CurrentWorkSheetIndex = 0;

foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
    // echo 'WorkSheet' . $CurrentWorkSheetIndex++ . "\n";
    echo 'Worksheet number - ', $objPHPExcel->getIndex($worksheet), PHP_EOL;
    $highestRow = $worksheet->getHighestDataRow();
    $highestColumn = $worksheet->getHighestDataColumn();
    $headings = $worksheet->rangeToArray('A1:' . $highestColumn . 1,
        NULL,
        TRUE,
        FALSE);

    for ($row = 2; $row <= $highestRow; $row++) {

        $rowData = $worksheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);
        $rowData[0] = array_combine($headings[0], $rowData[0]);
        print_r($rowData);


    }

}
...