Чтение данных из файла Excel с помощью PhpOffice \ PhpSpreadsheet в Symfony 4 - PullRequest
0 голосов
/ 31 мая 2019

Я разрабатываю приложение с Symfony 4, и мне нужно прочитать данные из файла Excel. Я интегрирую PhpOffice \ PhpSpreadsheet в свой проект, но пока не могу найти документацию для его использования. Я нахожу этот сайт для запуска, но он не делает все, что я хочу. https://phpspreadsheet.readthedocs.io/en/latest/topics/reading-and-writing-to-file/

Если у кого-то есть другой трек или он умеет читать данные из файла Excel с помощью PhpSpreadsheet.

public function excelReader(){

    $reader = new Xlsx();
    $reader->setReadDataOnly(TRUE);
    $spreadsheet = $reader->load("test.xlsx");
    $worksheet = $spreadsheet->getActiveSheet();

    $highestRow = $worksheet->getHighestRow(); 
    $highestColumn = $worksheet->getHighestColumn(); 
    $highestColumnIndex = \PhpOffice\PhpSpreadsheet\Cell\Coordinate::columnIndexFromString($highestColumn);
$res = array();
    for($row=1; $row < $highestRow ; $row++){
        for($col = 1; $col <= $highestColumnIndex; $col++){
            $value = $worksheet->getCellByColumnAndRow($col,$row)->getValue();
            array_push($res,$value);
        }
    }


    return $this->render('table/excel.html.twig', [
        'list' => $res,
    ]);

 }

в этом коде я пытаюсь загрузить и затем прочитать файл test.xlsx, который я помещаю в папку контроллера. Я получаю следующую ошибку: Файл "test.xlsx" не существует.

1 Ответ

0 голосов
/ 01 июня 2019

Попробуйте создать папку {папка symfony} / public / uploads / и поместите test.xlsx в эту папку. Затем измените эту строку в вашем коде: $spreadsheet = $reader->load("uploads/test.xlsx"); (Папка {папка symfony} / src / Controller / предназначена только для кода из соображений безопасности.)

Есть примеры чтения электронных таблиц под {каталог symfony} / vendor / phpoffice / phpspreadsheet / samples / Reader /

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