PHP中常用的Excel文件访问类及修改

原创 2006年05月18日 14:04:00

        近日,由于手头项目需要解析web提交的excel文件,不得不看看这个在php中使用比较广泛的excel访问类了。之所以说它使用广泛,是后来在网上查找问题解决方法时才知道它的使用面的。

        首先说遇到的问题。问题是这样的:原函数中的处理方式是将多字节编码的内容全部转换为&#开头的十进制编码了,这样在web上显示时当然没问题,甚至可以说很好,因为不会出现乱码。但目前我面临的问题是要将excel文件中的数据解析,然后导入到数据库,主要用途也就是数据的批量处理,但导入到数据库后的数据需要在web方式下进行编辑之类的处理,当然不能让用户看到的是以&#开头的十进制编码内容了。如何将从excel文件中解析出来的数据转换为中文编码就是问题所在。注释掉原程序中的转换逻辑,返回在web页面上的是一组乱码,对照excel的16进制源文件,发现它们是一致的。由于以&#开头的十进制编码对应的数字就是该字符的unicode十进制编码,可知excel文件是以unicode编码存储的。知道其编码就好办了,在php中直接用iconv函数转换为目标编码即可:iconv('utf-16', 'gb2312', $str)。但测试用mbstring转换时出现了问题,直接用mb_convert_encoding($str, 'gb2312', 'utf-16')得到的仍然是乱码!问题在哪里?反复测试后,总算发现症结所在,未注意编码的“字节序”,再看excel源文件,其字节序采用的是little-endian,即低字节在前的“小尾”方式,将函数的参数改为:mb_convert_encoding($ret, 'gb2312', 'utf-16le'),问题就解决了!看来iconv函数有一个自动检测系统字节序的功能,而mbstring函数则需要明确地指定才行。

         现将修改后的代码和原代码及使用说明一并打包放到网上的,以下为链接:Excel处理

       ( 如若侵犯了程序原作者的版权,请作者与我联系,我将即时删除文件。此文另见PHP中常用的Excel文件访问类及修改)

利用PHPExcel实现Excel文件的写入和读取

作为一个原本的JAVA党,用过PHP才知道,原来对于Excel文件的写入和读取原来可以这么简单! 利用PHP实现对于Excel的读取,主要借助于PHPExcel插件来完成。 PHPExcel下载地...
  • helencoder
  • helencoder
  • 2015年09月18日 09:13
  • 15362

php四个常用类封装

Mysql类
  • qq_38568388
  • qq_38568388
  • 2017年12月01日 13:28
  • 72

使用 PHPExcel 读取\修改 xls文件

资料来源与互联网,具体来源已找不到 做了一个简单的读取 和 修改,未对文档格式等继续研究,有需要可以查看 PHPExcel文档 PHPExcel  github地址 https://gith...
  • auspi12341
  • auspi12341
  • 2017年07月25日 10:27
  • 421

100个常用的 PHP 类库、资源和技巧小结

本文转载自:http://www.scutephp.com/topic-id1325.html 收集整理一些常用的PHP类库, 资源以及技巧. 以便在工作中迅速的查找所需... ...
  • u010832551
  • u010832551
  • 2016年04月11日 11:27
  • 7408

PHP 生成excel|好用强大的php excel类库

做Magento的订单导出Excel功能,找了这个php的excel类 :PHPExcel。 PHPExcel是强大的 MS Office Excel 文档生成类库,基于Microsoft's...
  • slqgenius
  • slqgenius
  • 2016年08月05日 16:52
  • 1490

PHP生成excel表格文件并下载

利用php导出excel我们大多会直接生成.xls文件,这种方便快捷。 public function createtable($list,$filename){ header("Content-t...
  • sinat_35861727
  • sinat_35861727
  • 2017年02月08日 18:20
  • 12365

PHP 使用PHPExcel实现文件导入与导出功能

PHPExcel文件导入导出常用方法 1、PHP文件导入 上传文件 页面样式 HTML代码 "" enctype="multipart/form-data" method="post" ...
  • s390124971
  • s390124971
  • 2016年10月24日 13:52
  • 8019

100个常用的 PHP 类库、资源和技巧小结

转载自:http://blog.csdn.net/u010832551/article/details/51120251 收集整理一些常用的PHP类库, 资源以及技巧. 以便在工作中...
  • meiliangdeng1990
  • meiliangdeng1990
  • 2017年02月28日 22:09
  • 1114

PHP读取EXCEL文件写入数据库

PHP读取ECEL文件写入数据库功能的实现使用到了PHPExcel类库。    $uploadfile="../upload_files/".basename($_FILES['userfile']...
  • amino77
  • amino77
  • 2013年07月22日 09:14
  • 1590

使用phpExcel库构建一个导出excel的通用类

废话不多说,直接上代码: phpExcel库可以去官网上下载
  • huanghanqian
  • huanghanqian
  • 2016年09月01日 17:10
  • 1564
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP中常用的Excel文件访问类及修改
举报原因:
原因补充:

(最多只允许输入30个字)