(необходимо пояснение) документация для носика - PullRequest
0 голосов
/ 06 апреля 2020

может кто-нибудь помочь мне с этой документацией,

use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;

$reader = ReaderEntityFactory::createReaderFromFile('/path/to/file.ext');

$reader->open($filePath);

foreach ($reader->getSheetIterator() as $sheet) {
    foreach ($sheet->getRowIterator() as $row) {
        // do stuff with the row
        $cells = $row->getCells();
        ...
    }
}

$reader->close();

что я не получаю:

  1. Что мне делать с ('/ путь /to/file.ext')
  2. откуда берется $ filePath? нам нужно создать переменную с именем $ filePath, которая будет направлять во временный загруженный файл?

Я прочитал документацию и до сих пор не понимаю, я также пытался реализовать ее с помощью средства зажигания кода вот мой код:

require_once APPPATH.'third_party \ spout \ src \ Spout \ Autoloader \ autoload. php '; используйте Box \ Spout \ Reader \ Common \ Creator \ ReaderEntityFactory;

класс Excel расширяет CI_Controller {

//==========================================================
// C O N S T R U C T O R
//==========================================================
    public function __construct()
    {
        parent::__construct();
        $this->load->model('Excel_model');
    }

    public function index()
    {
        $reader = ReaderEntityFactory::createReaderFromFile('/path/to/file.ext');
        $filePath = APPPATH.'third_party\spout\src\temp\test.xlsx';
        $reader->open($filePath);

        foreach ($reader->getSheetIterator() as $sheet) {
            foreach ($sheet->getRowIterator() as $row) {
                // do stuff with the row
                $cells = $row->getCells();
                echo $cells;
            }
        }

        $reader->close();   
    }   

}   

и вместо этого получает это сообщение об ошибке:

An uncaught Exception was encountered

Type: Box\Spout\Common\Exception\UnsupportedTypeException

Message: No readers supporting the given type: ext

Filename: D:\ONNE\OTHERS\_CODING_PROGRAMMING\XAMPP\htdocs\bulus-ci\application\third_party\spout\src\Spout\Reader\Common\Creator\ReaderFactory.php

Line Number: 59

Backtrace:

File: D:\ONNE\OTHERS\_CODING_PROGRAMMING\XAMPP\htdocs\bulus-ci\application\third_party\spout\src\Spout\Reader\Common\Creator\ReaderFactory.php
Line: 42
Function: createFromType

File: D:\ONNE\OTHERS\_CODING_PROGRAMMING\XAMPP\htdocs\bulus-ci\application\third_party\spout\src\Spout\Reader\Common\Creator\ReaderEntityFactory.php
Line: 24
Function: createFromFile

File: D:\ONNE\OTHERS\_CODING_PROGRAMMING\XAMPP\htdocs\bulus-ci\application\controllers\Excel.php
Line: 20
Function: createReaderFromFile

File: D:\ONNE\OTHERS\_CODING_PROGRAMMING\XAMPP\htdocs\bulus-ci\index.php
Line: 315
Function: require_once

1 Ответ

1 голос
/ 06 апреля 2020

Путь к файлу - это строка, указывающая на электронную таблицу, которую вы пытаетесь прочитать. Вам нужно определить его и передать в Spout следующим образом:

use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;

$filePath = APPPATH.'third_party\spout\src\temp\test.xlsx';
$reader = ReaderEntityFactory::createReaderFromFile($filePath);
$reader->open($filePath);

foreach ($reader->getSheetIterator() as $sheet) {
    foreach ($sheet->getRowIterator() as $row) {
        // do stuff with the row
        $cells = $row->getCells();
        ...
    }
}

$reader->close();

Можете ли вы попробовать?

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