本文章来给大家介绍PHP Spreadsheet_Excel_Reader导入excel中文显示乱码与不能读取.xlsx格式的文件的解决办法,有碰到此类问题的同学可进入参考。
Spreadsheet_Excel_Reader是个常用的导入excel文件的php类。
正常情况下使用该类导入excel代码如下
代码如下 | 复制代码 |
//引入系统公共文件。 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 ' //打印输出每个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转换一下。 |