Я признаю, что задавал эти вопросы уже около 4-5 часов назад, но, так как я не получил ответа, я удалил его и спросил снова, надеясь, что кто-то сможет мне помочь … Надеюсь, это нормально … Спасибо! 🙂
У меня проблема; Я могу получить запись из базы данных, я могу создать файл Excel, используя Excel Writer для электронных таблиц, но, очевидно, я не могу сделать оба в комбинации; Вот мой скрипт для получения элемента базы данных:
<?php
require ('config123.php');
$sql = "SELECT name FROM table WHERE id=1";
$query = mysqli_query($db_123, $sql);
$row = mysqli_fetch_assoc($query);
echo $row['name'];
?>
Это прекрасно работает; Также для создания файла Excel с какой-либо записью нет проблем:
<?php
require_once 'Spreadsheet/Excel/Writer.php';
$excelfile = new Spreadsheet_Excel_Writer();
$excelfile->send('excelfile.xls');
$worksheet =& $excelfile->addWorksheet('Tabelle 1');
$worksheet->write(1, 1, 'blub');
$excelfile->close();
?>
Я могу открыть файл Excel, и все отлично работает; Но как только я пытаюсь объединить это, это больше не работает:
require ('config123.php');
require_once 'Spreadsheet/Excel/Writer.php';
$excelfile = new Spreadsheet_Excel_Writer();
$excelfile->send('excelfile.xls');
$worksheet =& $excelfile->addWorksheet('Tabelle 1');
$sql = "SELECT name FROM table WHERE id=1";
$query = mysqli_query($db_123, $sql);
$row = mysqli_fetch_assoc($query);
$worksheet->write(1, 1, 'blub'); // notice that I don't even write the value from the database in it but just a word and it still doesn't work
$excelfile->close();
?>
Чтобы быть более точным, он получает проблемы от двух требуемых опций; Они должны как-то конфликтовать друг с другом, хотя я не знаю, как … Документ Excel создается, но Excel больше не может его открыть, и внутри он полон множества сообщений об ошибках;
Я уже изменил имена в своем файле config123.php, надеясь, что есть только два допустимых имени с тем же именем, но, к сожалению, это не помогло;
Вот как выглядит мой config123.php:
<?php
error_reporting(E_ALL);
define ( 'MYSQL_HOST', 'localhost' );
define ( 'MYSQL_BENUTZER', 'root' );
define ( 'MYSQL_KENNWORT', '' );
define ( 'MYSQL_DATENBANK', 'database' );
$db_123 = mysqli_connect (
MYSQL_HOST,
MYSQL_BENUTZER,
MYSQL_KENNWORT,
MYSQL_DATENBANK
);
if ($db_123 === False) {
die("<p> Es konnte keine Verbindung mit der Datenbank hergestellt
werden </p>");
}
?>
Я не могу нормально открыть файл Excel, где я на самом деле хотел написать только «blub», однако я могу открыть файл с помощью обычного редактора Windows и получить это (это может помочь):
Устаревшие: Нестатический метод OLE :: Asc2Ucs () не должен вызываться статически, предполагая $ this из несовместимого контекста в C: \ XAMPP \ PHP \ груша \ Электронная таблица \ Excel \ Writer \ Workbook.php онлайн 575
Устаревшие: Нестатический метод System :: tmpdir () не должен вызываться статически, предполагая $ this из несовместимого контекста в C: \ XAMPP \ PHP \ грушевый \ OLE \ ВПР \ file.php онлайн 50
Устаревшие: Нестатический метод System :: tmpdir () не должен вызываться статически, предполагая $ this из несовместимого контекста в C: \ XAMPP \ PHP \ грушевый \ OLE \ ВПР \ Root.php онлайн 56
Устаревшие: Нестатический метод OLE :: Asc2Ucs () не должен вызываться статически, предполагая $ this из несовместимого контекста в C: \ XAMPP \ PHP \ грушевый \ OLE \ ВПР \ Root.php онлайн 59
Устаревшие: Нестатический метод OLE :: LocalDate2OLE () не должен вызываться статически, предполагая $ this из несовместимого контекста в C: \ XAMPP \ PHP \ груша \ OLE \ PPS.php онлайн 190
Устаревшие: Нестатический метод OLE :: LocalDate2OLE () не должен вызываться статически, предполагая $ this из несовместимого контекста в C: \ XAMPP \ PHP \ груша \ OLE \ PPS.php онлайн 191
Устаревшие: Нестатический метод OLE :: LocalDate2OLE () не должен вызываться статически, предполагая $ this из несовместимого контекста в C: \ XAMPP \ PHP \ груша \ OLE \ PPS.php онлайн 190
Устаревшие: Нестатический метод OLE :: LocalDate2OLE () не должен вызываться статически, предполагая $ this из несовместимого контекста в C: \ XAMPP \ PHP \ груша \ OLE \ PPS.php онлайн 191
Сࡠ± á; þÿ þÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ l ÉB ä Tabelle 1= ¼%r8 X" 1 È ÿ Arial1 È ÿ Arial1 È ÿ Arial1 È ÿ Arial1 È ÿ Arial1 È Arialà õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à À à À “ € ÿ’ â 8 ÿÿÿ ÿ ÿ ÿ ÿÿ ÿ ÿ ÿÿ € € € €€ € € €€ ÀÀÀ €€€ ™™ÿ ™3f ÿÿÌ Ìÿÿ f f ÿ€€ fÌ ÌÌÿ € ÿ ÿ ÿÿ ÿÿ € € € €€ ÿ Ìÿ Ìÿÿ ÌÿÌ ÿÿ™ ™Ìÿ ÿ™Ì Ì™ÿ ÿÌ™ 3fÿ 3ÌÌ ™Ì ÿÌ ÿ™ ÿf ff™ ––– 3f 3™f 3 33 ™3 ™3f 33™ 333 … - Tabelle 1
l É * + € ‚ Á ƒ „ & è?' è?( ð?) ð?¡ " d XX à? à?
blub>
¶
Снова и снова F FÀ \ é fé \ Ñ @ B o o k
F À F þÿÿÿ þÿÿÿþÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
Есть идеи как это решить ???? 🙁
Уважаемые люди из будущего, которые все еще используют пакет PEAR Spreadsheet_Excel_Writer:
Эти ошибки вызваны пакетом PEAR OLE, в частности версией 1.0.0RC2. Один из способов исправить это — принудительно понизить пакет OLE до RC1:
pear install -f OLE-1.0.0RC1
Для тех, кто также получает ошибку «Call-time pass-by-reference», это можно исправить, обновив код вручную, как предложено здесь:
http://pear.php.net/bugs/bug.php?id=19359
В Spreadsheet / Excel / Writer / Worksheet.php в строке 2490 измените:
$this->_append(&$string, true);
чтобы:
$this->_append($string, true);
Других решений пока нет …