как писать динамически созданные рабочие листы в Excel с использованием Pread Spreadsheet Writer?

Короче, что я хочу сделать, это создать несколько рабочих листов динамически, заполненных данными из результата базы данных.

Пока я получаю:

Fatal error: Call to undefined method PEAR_Error::write() in /mnt/hgfs/workspace/CCMS-Web/reports/file-excel.php on line 113 

Когда я пытаюсь сделать это:

 $workbook = new Spreadsheet_Excel_Writer(); // sending HTTP headers $workbook->send('excel_filename.xls'); $ReportName = "Report Name"; while ($row = $Results->fetch_assoc()) { $worksheet_name = $row["data"]; $$worksheet_name =& $workbook->addWorksheet($campaign_name); $$worksheet_name->write($y, 0, $ReportName,$fmtTitle); } 

Вы делали это раньше? Это возможно? Если да, то каков правильный способ сделать это?

Также как дополнительная важная записка здесь: ошибка может быть обложена, если имя вашего рабочего листа длиннее 31 символа (такие длинные имена не поддерживаются Excel).

$worksheet =& $workbook->addWorksheet("Some really long string, longer than 31 symbol"); приведет к той же ошибке

Чтобы ответить на мой собственный вопрос,

можно динамически создавать электронные таблицы.

вы должны, однако, принять к сведению, что не создавать электронные таблицы с таким же именем, как это приведет к фатальной ошибке PEAR.

вы должны проверить существующие листы, как показано ниже.

 $worksheets = $workbook->worksheets(); if (!in_array($worksheet_name,$worksheets)){ $worksheet_name =& $workbook->addWorksheet($worksheet_name); } 

Это то, что происходило со мной, в вопросе, поставленном выше.

у вас есть два

$$

там, но это должно быть только одно.

Кроме того, $$worksheet_name worksheet_name не является объектом листа, а PEAR_Error, с которым вам нужно обращаться отдельно:

 if (PEAR::isError($worksheet_name)) { var_dump($worksheet_name); die(); } 
  • Кодирование символов Yosemite, отличное от мусора на сайте MySQL
  • Как отсортировать японский, как Excel
  • Дополнительные поля не печатаются
  • Напишите в CSV-файл с PHP (Commas in Data Error)
  • Ссылки в Excel на страницы с session_start () и X-Sendfile
  • небольшой сбой при генерации csv с символом новой строки в php
  • Экспорт MySQL в Excel
  • запрос строк mysql с php
  • Excel VBA: имя динамической переменной
  • как я могу получить данные из файла Excel * .xlsx, используя php-код
  • PHP Excel отображает несколько данных
  • Interesting Posts

    Как импортировать фильтрованную таблицу excel в python?

    Добавление инструкции If к существующему коду

    График пирога на основе цвета ячейки

    Таблица запросов с оператором SQL и получение результатов в другой таблице

    Скрипт Python не помещает всю строку в таблицу Excel

    почему excel.exe остается загруженным после запуска программы автоматизации клиентов Delphi?

    Переменная объекта Excel.application, необходимая перед каждой функцией Excel при кодировании в Access

    Показать файл Excel на aspx-странице, как есть, например страницу на странице

    Ошибка чтения больших файлов Microsoft Excel с использованием XLSREAD в MATLAB 7.0.1 (R14SP1)

    Печать нескольких листов сразу после выбора пользователя

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

    Excel распределяет стоимость

    Как экспортировать данные Excel в таблицы Mysql

    POWERPIVOT. Посмотрите максимальное значение для нового столбца из существующих столбцов.

    Может ли кто-нибудь указать коды / логику для извлечения данных excel (.xlsx) типа «" driver.findElement (By.id ("")) sendkeys (getExceldata (строка, столбец));

    Давайте будем гением компьютера.