2010-03-18 190 views
3

我試過以下程序將內容寫入電子表格。 我也下載了Spreadsheet_Excel_Writer軟件包。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 

我試圖解決這個錯誤,但我不能。 請任何人都可以幫助我解決這個錯誤。

回答

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的來源,在項目中手動安裝它。

我建議你使用PEAR安裝程序,包含在PHP中來安裝這個軟件包。 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

2

我用這個庫之前,但一個更好的爲PHPExcel支持最近XLS和XSLX文件格式。