程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP Spreadsheet_Excel_Reader導入excel中文顯示亂碼

PHP Spreadsheet_Excel_Reader導入excel中文顯示亂碼

編輯:關於PHP編程

本文章來給大家介紹PHP Spreadsheet_Excel_Reader導入excel中文顯示亂碼與不能讀取.xlsx格式的文件的解決辦法,有碰到此類問題的同學可進入參考。

 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轉換一下。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved