2011-05-05 60 views
0

我遇到了以下問題。用codeigniter 2.0讀取XLS文件

我想讀一個excel 97 - 2003(XLS)文件。 該文件位於codeigniter文件夾內。 目前我正在使用 spreadsheet_excel_reader.php庫來讀取XLS文件。

可惜我不能得到它的工作,它會識別XLS文件,並讀取文件,但是當它完成解析文件,返回NULL

這就是我的方法是什麼樣子。

$CI =& get_instance(); 

$this->data_file = "./xls/BolFeed.xls"; //The XLS file and folder 

//$CI->spreadsheet_excel_reader->setOutputEncoding('CP1251'); //I've added this one into the library itself. 

$CI->spreadsheet_excel_reader->read($this->data_file); //Start reading the XLS file 

$this->data_array = $this->spreadsheet_excel_reader->sheets[0]; //This should return my XLS but only returns NULL 

var_dump($this->data_array); 
die; 

我認爲該方法不會導致問題,但XLS解析庫會。

我希望你們能幫助我,因爲我一直在努力解決這個問題好幾天。

我正在使用PHP 5.3.0和CI 2.0.0

感謝您的努力。

+1

有呼叫$CI->spreadsheet_excel_reader->read你實際上加載了'spreadsheet_excel_reader'庫嗎?它沒有在你的代碼中提到這一點。 – fire 2011-05-05 12:56:28

+0

是的,我確實是這樣的,它實際上是一個擴展另一個庫的庫,我加載'spreadsheet_excel_reader',並使用'$ CI =&get_instance();'允許我使用它。 – Jeroen 2011-05-05 12:59:18

+1

我會建議看看phpexcel,我在CI中完美地工作,唯一的問題是如果你開始用它來寫文件,它會變得非常沉重。 – Hailwood 2011-05-05 20:13:45

回答

1

$this->spreadsheet_excel_reader->sheets應該$CI->spreadsheet_excel_reader->sheets 因爲你在上面一行

+0

感謝您的幫助,這確實有效。我真的忽視了那個! – Jeroen 2011-05-06 07:12:16

0

如果你在count($this->spreadsheet_excel_reader->sheets)之前或之後var_dump是否顯示該數組不是空的?

而且從docs,好像你需要做更多的sheets看數據:

$this->spreadsheet_excel_reader->dump($row_numbers=false,$col_letters=false,$sheet=0,$table_class='excel');