Spreadsheet_Excel_Reader是個常用的導入excel文件的php類,正常情況下使用該類導入excel代碼如下:
- <?php
- //引入系統公共文件。
- require_once ('../global.php');
- //引入excel讀取功能類
- require_once ('./excel/reader.php');
- //實例化
- $data = new Spreadsheet_Excel_Reader();
- //設置輸出類型(可以是“GBK”或者“UTF-8”),注意插入數據庫時的編碼轉換
- $data->setOutputEncoding('CP936');
- //讀取excel文件地址
- $data->read('20110630_ctms.xls');
- //打印輸出sheet數組,單個或多個
- print_r($data->sheets);
- echo '<br />';
- //打印輸出每個sheet的行數,$k從零開始
- $k = 0;
- echo $data->sheets[$k]['numRows'];
在使用該類時,我遇到過如下問題:
1.不能讀取.xlsx格式的文件:
.xlsx格式的文件不能直接讀取,解決方法是打開該文件,然后另存為.xls文件.
注意:請選擇“Microsoft Excel 5.0/95 工作薄(*.xls)”,這種比較好用,“Excel 97-2003工作?。?.xls)”這種也可以,但有時會有問題,比如讀入數據出現丟失的現象。
2.編碼問題,中文顯示亂碼:
$data->setOutputEncoding(‘CP936′);是設置輸出編碼用的,但不能隨意的輸出想要的編碼。可以嘗試改變成gbk或者utf-8后用iconv轉換一下。
新聞熱點
疑難解答