Как получить все имена листов без обрезки?

У меня есть файл Excel с именами листов utf-8, и я получил обрезанное имя листа, потому что этот заголовок листа превышает 31 символ.

Мой код:

<?php

use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
use PhpOffice\PhpSpreadsheet\IOFactory;

$reader = IOFactory::createReader('Xlsx');
$reader->setReadDataOnly(TRUE);
$spreadsheet = $reader->load('/home/cool-file.xlsx');

$all = $spreadsheet->getSheetNames();

В переменной $all я получил список всех имен листов, но все имена обрезаны.

Я попытался прокомментировать эту часть кода: https://github.com/PHPOffice/PhpSpreadsheet/blob/develop/src/PhpSpreadsheet/Worksheet/Worksheet.php#L853-L882.

но без изменений.


person Mowshon    schedule 17.09.2018    source источник


Ответы (1)


use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
use PhpOffice\PhpSpreadsheet\IOFactory;

$reader = IOFactory::createReader('Xlsx');
$reader->setReadDataOnly(TRUE);
$spreadsheet = $reader->load('/home/cool-file.xlsx');

$all = $spreadsheet->getSheetNames()[1];

Обратите внимание на скобу и ID листа.

person fastop    schedule 15.10.2020