Spreadsheet_Excel_Writer路径问题

时间:2010-03-18 10:50:34

标签: php excel

我尝试了以下程序将内容写入电子表格。 我也下载了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

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

2 个答案:

答案 0 :(得分:3)

您必须包含该库,否则PHP将无法识别Spreadsheet_Excel_Writer类。

您还必须为include_path指定路径,而不是文件。 通常,最佳做法是将新路径附加到现有路径。因此,您首先必须检索当前的include_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的源代码并在项目中手动安装。

我建议您使用PHP附带的PEAR安装程序来安装此软件包。默认情况下,PEAR库通常包含在默认的include_path中。所以你应该只需要'require_once'语句。无需更改include_path。

只需在命令行输入:

pear install Spreadsheet_Excel_Writer-beta

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

希望这能解决你的问题。

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

答案 1 :(得分:2)

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