PhpSpreadsheet IReadFilter выдает ошибку после обновленияPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 PhpSpreadsheet IReadFilter выдает ошибку после обновления

Сообщение Anonymous »

Я использую фильтры PhpSpreadsheet уже много лет, и теперь после установки на новый компьютер эта функция больше не работает. В частности, я создал класс ReadFilter, который реализует \PhpOffice\PhpSpreadsheet\Reader\IReadFilter.

Код: Выделить всё

class ReadFilter implements \PhpOffice\PhpSpreadsheet\Reader\IReadFilter {

private $startRow = 0;
private $endRow = 0;
private $columns = [];

public function __construct($startRow, $endRow, $columns) {
$this->startRow = $startRow;
$this->endRow = $endRow;
$this->columns = $columns;
}

public function readCell($column, $row, $worksheetName = '') {

if ($row >= $this->startRow && $row endRow) {
if (in_array($column, $this->columns)) {
return true;
}
}
return false;
}

}
Затем я хочу прочитать данные, используя фильтр выше:

Код: Выделить всё

$filterSubset = new ReadFilter(1, 3427, range('A', 'A'));

$inputFileType = 'Xlsx';
$inputFileName = './file_name.xlsx';
$worksheet='Sheet 1';
$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader($inputFileType);
$reader->setReadFilter($filterSubset);
$spreadsheet = $reader->load($inputFileName);
$sheetData = $spreadsheet->getSheetByName($worksheet)->toArray();
Однако я получаю сообщение об ошибке:

PHP Неустранимая ошибка: объявление ReadFilter::readCell($column, $row, $worksheetName = '') должен быть совместим с PhpOffice\PhpSpreadsheet\Reader\IReadFilter::readCell(string $columnAddress, int $row, string $worksheetName = ''): bool
< /blockquote>
Php не доволен общедоступной функцией readCell в моем классе ReadFilter. Но ошибка не говорит сама за себя. Кто-нибудь может помочь?

Подробнее здесь: https://stackoverflow.com/questions/781 ... ter-update
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»