как прочитать файл xls с phpexcel bundle?в Symfony2 - PullRequest
6 голосов
/ 24 февраля 2012

Пакет phpExcel обеспечивает способ записи файлов xls, но я не знаю, как читать файл xls с этим пакетом .. комплект можно найти по следующему адресу: http://knpbundles.com/liuggio/ExcelBundle

Спасибо за вашу помощь

Ответы [ 4 ]

5 голосов
/ 17 февраля 2014

Если вы действительно хотите прочитать файл EXCEL, вы можете найти пример в официальном документе: https://github.com/PHPOffice/PHPExcel/blob/develop/Examples/28iterator.php

код:

$phpExcelObject = $this->get('phpexcel')->createPHPExcelObject();
    $file = $this->get('kernel')->getRootDir()."/../web/uploads/import/membres.xlsx";
    if (!file_exists($file)) {
        exit("Please run 05featuredemo.php first." );
    }
    $objPHPExcel = \PHPExcel_IOFactory::load($file);

    echo date('H:i:s') , " Iterate worksheets" , EOL;
    foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
            echo 'Worksheet - ' , $worksheet->getTitle() , EOL;

            foreach ($worksheet->getRowIterator() as $row) {
                    echo '    Row number - ' , $row->getRowIndex() , EOL;

                    $cellIterator = $row->getCellIterator();
                    $cellIterator->setIterateOnlyExistingCells(false); // Loop all cells, even if it is not set
                    foreach ($cellIterator as $cell) {
                            if (!is_null($cell)) {
                                    echo '        Cell - ' , $cell->getCoordinate() , ' - ' , $cell->getCalculatedValue() , EOL;
                            }
                    }
            }
    }


    // Echo memory peak usage
    echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL;
1 голос
/ 16 ноября 2012

ExcelBundle - это просто сервис-оболочка для класса PHPExcel.

служба пакетов вернет PHPExcel_IOFactory с определенным форматом файла, ожидаемым при вводе и выводе (в данном случае xls5)

 $xl_obj=$this->get('xls.load_xls5')

вы можете использовать это как элемент PHPExcel, чтобы читать файл:

  $my_xl_file = $xl_obj->load($fileName);

Если вы перейдете на страницу github в ExcelBundle ,Вот именно тот пример, который вы ищете:

Если вы хотите прочитать xls

$ exelObj = $ this-> get ('xls.load_xls5') ->load ($ filename);

1 голос
/ 07 декабря 2013

Чтение файла похоже на создание файла

это создание объекта, начиная с файла xls:

$phpExcelObject = $this->get('phpexcel')->createPHPExcelObject('origin.xls');
// work on the object adding contents
// then write to a file
$writer = $this->get('phpexcel')->createWriter($phpExcelObject, 'Excel5');
$writer->save('dest.xls');
0 голосов
/ 24 февраля 2012

Похоже, он просто использует библиотеку PHPExcel . Вы можете найти примеры и документы на их веб-сайте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...