从数据库中获取条目并将其添加到新的 excel 文件中使用 php 中的电子表格 Excel 编写器不起作用,为什么?



我承认我已经问过这个问题大约4-5小时前,但因为我没有得到回复,我删除了它,并再次问希望有人能帮助我现在…我希望这没有问题……谢谢你!:)

我有一个问题;我可以从数据库中获得一个条目,我可以创建一个excel文件使用电子表格excel作家,但显然我不能做两者的组合;下面是获取数据库元素的脚本:

<?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文件中更改了名称,希望只有2个变量名称具有相同的名称,但不幸的是它没有帮助;这是我的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:xamppphppearSpreadsheetExcelWriterWorkbook.php已弃用:非静态方法System::tmpdir()不应该静态调用,假设$this来自不兼容的上下文C:xamppphppearOLEPPSFile.phpon line50

已弃用:非静态方法System::tmpdir()不应该静态调用,假设$this来自不兼容的上下文C:xamppphppearOLEPPSRoot.php56

弃用:非静态方法OLE::Asc2Ucs()不应该静态调用,假设$this来自不兼容的上下文C:xamppphppearOLEPPSRoot.php59

弃用:非静态方法OLE::LocalDate2OLE()不应该静态调用,假设$this来自不兼容的上下文C:xamppphppearOLEPPS.php已弃用:非静态方法OLE::LocalDate2OLE()不应该静态调用,假设$this来自不兼容的上下文190

C:xamppphppearOLEPPS.phpon line191

已弃用:非静态方法OLE::LocalDate2OLE()不应该被静态调用,假设$this来自不兼容的上下文C:xamppphppearOLEPPS.php
已过时:非静态方法OLE::LocalDate2OLE()不应该被静态调用,假设$this来自不兼容的上下文C:xamppphppearOLEPPS.phpon line191
ÐÏà ';þy þyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ       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>


R = 0 = 0 = 0 = 0 = 0 = 0 ÿÿÿÿÿÿÿÿÀ F ffye Ñ ffye Ñ @ B o o k
ÿÿÿÿÿÿÿÿÿÿÿÿ À F þÿÿÿþyyyþyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

知道如何解决它????(

来自未来仍在使用PEAR Spreadsheet_Excel_Writer软件包的亲爱的人们:

这些错误是由PEAR OLE包引起的,更具体地说是1.0.0RC2版本。解决这个问题的一种方法是强制将OLE包降级到RC1:

pear install -f OLE-1.0.0RC1

对于那些也得到"调用时间通过引用传递"错误的人,可以通过手动更新代码来修复,如下所示:http://pear.php.net/bugs/bug.php?id=19359

在电子表格/Excel/Writer/工作表。php第2490行更改:

$this->_append(&$string, true);

:

$this->_append($string, true);

最新更新