好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP Spreadsheet_Excel_Reader导入excel中文显示乱码 - p

PHP Spreadsheet_Excel_Reader导入excel中文显示乱码

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转换一下。

查看更多关于PHP Spreadsheet_Excel_Reader导入excel中文显示乱码 - p的详细内容...

  阅读:50次