Spreadsheet_Excel_Writerpath问题

我已经尝试了以下程序将内容写入电子表格。 我也下载了Spreadsheet_Excel_Writer软件包。

<?php ini_set('include_path','/xhome/rekha/public_html/PHP_FORUM/PHP/open_office/Spreadsheet_Excel_Writer-0.9.2/Spreadsheet/Excel/Writer.php'); $workbook = new Spreadsheet_Excel_Writer(); $workbook->send('grades.xls'); $format_bold =& $workbook->addFormat(); $format_bold->setBold(); $worksheet =& $workbook->addWorksheet(); $worksheet->write(0, 0, "NAME", $format_bold); $worksheet->write(0, 1, "MARK1", $format_bold); $worksheet->write(0, 2, "MARK2", $format_bold); $worksheet->write(0, 3, "MARK3", $format_bold); $worksheet->write(0, 4, "MARK4", $format_bold); $worksheet->write(0, 5, "MARK5", $format_bold); $worksheet->write(0, 6, "TOTAL", $format_bold); $workbook->close(); ?> 

但是,当运行这个PHP程序,我得到以下致命错误。

 Fatal error: Class 'Spreadsheet_Excel_Writer' not found in /xhome/rekha/public_html/PHP_FORUM/PHP/open_office/spread.php on line 4 Call Stack # Time Memory Function Location 1 0.0003 59868 {main}( ) ../spread.php:0 

我试图解决这个错误,但我不能。 请任何人都可以帮我解决这个错误。

你将不得不包含库,否则PHP将无法识别Spreadsheet_Excel_Writer类。

而且你还必须为include_path指定一个path,而不是一个文件。 通常最好的做法是将您的新path附加到现有path。 因此,您首先必须检索当前的include_path并将新path附加到该path。

这应该工作:

 <?php ini_set('include_path',ini_get('include_path').':/xhome/rekha/public_html/PHP_FORUM/PHP/open_office/Spreadsheet_Excel_Writer-0.9.2/'); require_once 'Spreadsheet/Excel/Writer.php'; $workbook = new Spreadsheet_Excel_Writer(); $workbook->send('grades.xls'); $format_bold =& $workbook->addFormat(); $format_bold->setBold(); $worksheet =& $workbook->addWorksheet(); $worksheet->write(0, 0, "NAME", $format_bold); $worksheet->write(0, 1, "MARK1", $format_bold); $worksheet->write(0, 2, "MARK2", $format_bold); $worksheet->write(0, 3, "MARK3", $format_bold); $worksheet->write(0, 4, "MARK4", $format_bold); $worksheet->write(0, 5, "MARK5", $format_bold); $worksheet->write(0, 6, "TOTAL", $format_bold); $workbook->close(); ?> 

而且您似乎已经下载了Spreadsheet_Excel_Writer的源代码并将其手动安装到您的项目中。

我build议你使用PHP附带的PEAR安装程序来安装这个软件包。 PEAR库通常默认包含include_path。 所以你应该只需要'require_once'语句。 不需要改变include_path。

只需在命令行中input:

 pear install Spreadsheet_Excel_Writer-beta 

使用PEAR成功安装库后,可以从脚本中删除ini_set行。

希望这可以解决你的问题。

有关PEAR的更多信息: http : //pear.php.net/manual/en/guide.users.commandline.cli.php

我以前使用过这个库,但更好的是支持更新的XLS和XSLX文件格式的PHPExcel。