Примечание PhpSpreadsheet: неопределенное смещение: 4Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Примечание PhpSpreadsheet: неопределенное смещение: 4

Сообщение Anonymous »

Я изо всех сил пытался найти способ прочитать файлы Excel в каталоге, скопировать лист под названием «Подразделение» в новый файл, а затем пронумеровать новые рабочие листы с шагом на единицу — Division1, Division2 и т. д. p>

Ниже приведен мой код, в котором я получаю предупреждение о неопределенном индексе, что не имеет большого значения, но он создает новый файл Excel только с четырьмя листами, когда их должно быть больше 240 рабочие листы.

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

        ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

use PhpOffice\PhpSpreadsheet\Helper\Sample;
use PhpOffice\PhpSpreadsheet\IOFactory;

$exportedFiles = scandir('PhpSpreadsheet/Export');
$inputFileNames = [];
$sheetnames = [];
$outfile = 'all-together-now.xlsx';

foreach($exportedFiles as $key=> $value) {
if ($value == '.' || $value == '..') {

} else {
array_push($inputFileNames, 'PhpSpreadsheet/Export/' . $value);
array_push($sheetnames, 'Division');
}
}

$inputFileType = 'Xlsx';
$reader = IOFactory::createReader($inputFileType);
$reader->setLoadSheetsOnly($sheetnames);
$contador = 1;

foreach ($inputFileNames as $book => $inputFileName) {
echo ('$inputFileName: ' . $inputFileName) . '';

$reader = IOFactory::createReader("Xlsx");
$spreadsheet = $reader->load($inputFileName);
$clonedWorksheet = clone $spreadsheet->getSheetByName('Division');
$clonedWorksheet->setTitle('Division' . $contador);
$spreadsheetMain = $reader->load($outfile);
$spreadsheetMain->addSheet($clonedWorksheet);
$writer = IOFactory::createWriter($spreadsheetMain, "Xlsx");
$writer->save($outfile);
$contador++;
}
Ниже приведены предупреждения:

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

        Notice: Undefined offset: 4 in
PhpOffice\PhpSpreadsheet\Writer\Xlsx->save( )
PhpOffice\PhpSpreadsheet\Spreadsheet->garbageCollect( )
Как обычно, заранее спасибо

Подробнее здесь: https://stackoverflow.com/questions/605 ... d-offset-4
Ответить

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

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

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

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

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