从数据库获取条目,并将其添加到一个新的excel文件使用电子表格Excel的作家在PHP不起作用,为什么?

我承认在4-5个小时前已经提出了这个问题,但是因为我没有回复,所以我删除了它,并再次询问希望有人能够帮助我现在…我希望这是好的…谢谢! 🙂

我有个问题; 我可以从数据库中获得一个条目,我可以使用电子表格excel编写器创build一个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']; ?> 

这工作很好, 另外用一些入口创build一个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文档正在创build,但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:\ xampp \ php \ pear \ Spreadsheet \ Excel \ Writer \ Workbook.php中不兼容的上下文,第575

弃用 :非静态方法System :: tmpdir()不应该被静态调用,假设$ this来自第50行的C:\ xampp \ php \ pear \ OLE \ PPS \ File.php中的不兼容的上下文

已过时 :非静态方法System :: tmpdir()不应该静态调用,假设$ this来自不兼容的上下文,位于第56行的C:\ xampp \ php \ pear \ OLE \ PPS \ Root.php中

不赞成:非静态方法OLE :: Asc2Ucs()不应该被静态调用,假设$ this来自C:\ xampp \ php \ pear \ OLE \ PPS \ Root.php中不兼容的上下文在59

已过时 :非静态方法OLE :: LocalDate2OLE()不应被静态调用,假设$ this来自不兼容的上下文,位于第190行的C:\ xampp \ php \ pear \ OLE \ PPS.php

不赞成 :非静态方法OLE :: LocalDate2OLE()不应被静态调用,假设$ this来自C:\ xampp \ php \ pear \ OLE \ PPS.php中不兼容的上下文,第191

已过时 :非静态方法OLE :: LocalDate2OLE()不应被静态调用,假设$ this来自不兼容的上下文,位于第190行的C:\ xampp \ php \ pear \ OLE \ PPS.php

不赞成 :非静态方法OLE :: LocalDate2OLE()不应被静态调用,假设$ this来自C:\ xampp \ php \ pear \ OLE \ PPS.php中不兼容的上下文,第191
ÐÏࡱ±á; þÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ

  þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ l ÉB ä Tabelle 1= ¼%r8 X" 1 È ÿ Arial1 È ÿ Arial1 È ÿ Arial1 È ÿ Arial1 È ÿ Arial1 È Arialà õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à õÿ À à À à À “ € ÿ' â 8 ÿÿÿ ÿ ÿ ÿ ÿÿ ÿ ÿ ÿÿ € € € €€ € € €€ ÀÀÀ €€€ ™™ÿ ™3f ÿÿÌ Ìÿÿ ff ÿ€€ fÌ ÌÌÿ € ÿ ÿ ÿÿ ÿÿ € € € €€ ÿ Ìÿ Ìÿÿ ÌÿÌ ÿÿ™ ™Ìÿ ÿ™Ì Ì™ÿ ÿÌ™ 3fÿ 3ÌÌ ™Ì ÿÌ ÿ™ ÿf ff™ ––– 3f 3™f 3 33 ™3 ™3f 33™ 333 … - Tabelle 1 l É * + € ‚ Á ƒ „ & è?' è?( ð?) ð?¡ " d XX à? à? blub> 


不要在电脑上使用本机
ÿÿÿÿÿÿÿÿÿÿÿÿA Fþÿÿÿþÿÿÿþÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ

任何想法如何解决? 🙁

亲爱的未来人们仍在使用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

在2490行的Spreadsheet / Excel / Writer / Worksheet.php中更改:

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

至:

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