Как добавить один шаблон в несколько листов phpspreadsheet - PullRequest
1 голос
/ 21 октября 2019

Я работаю с phpspreadsheet, и мне нужны 2 листа с именем 3rd & 5th, но всякий раз, когда я загружаю лист Excel на 2-м листе, вся таблица заменяется новой таблицей.

Я нахожу вв интернете, но вопросов так не найдено, поэтому я разместил этот вопрос.

код

$this->spreadsheet = new Spreadsheet();
$reader = IOFactory::createReader('Xlsx');
$this->spreadsheet = $reader->load('../images/excel.xlsx');
$this->spreadsheet->setActiveSheetIndex(0)->setTitle('3rd');
$this->spreadsheet->createSheet()->setTitle('5th');
$this->spreadsheet->setActiveSheetIndex(1);
$reader = IOFactory::createReader('Xlsx');
$this->spreadsheet = $reader->load('../images/excel.xlsx');

как я могу загрузить один и тот же шаблон Excel в оба листа?

1 Ответ

0 голосов
/ 22 октября 2019

Не знаю, как загрузить один шаблон на несколько листов, но, следуя документации phpspreadsheet, вы можете клонировать его после загрузки шаблона.

$this->spreadsheet = new Spreadsheet();
// COPY TEMPLATE INTO FIRST SHEET
$reader = IOFactory::createReader('Xlsx');
$this->spreadsheet = $reader->load('../images/excel.xlsx');
$this->spreadsheet->setActiveSheetIndex(0)->setTitle('3rd');
// CLONE FIRST SHEET
$clone = clone $this->spreadsheet->getSheetByName('3rd');
$clone->setTitle('5th');
$this->spreadsheet->addSheet($clone);

Надеюсь, вам понравится мой альтернативный ответ.

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