php读取excel最佳方案,用PHP读取excel(转)

在 PHP 中有提供 fgetcsv 和 fputcsv 让我们读取 CSV 格式的档案,先将 Excel 档案另存为 .csv 的格式,再使用前面两个函数来读取或输出档案,反正 .csv Excel 也可以打开。

不过,.csv 中只能存一个工作表,这个应该是一个缺陷。最近正在着手写一个程序,它必须要能读取使用者上传的 Excel 档案中的数据, google 了一下,原来已经有人写了一个叫 phpExcelReader 的 class,可以让我们很方便的读取任一个工作表。它的网址如下:

http://sourceforge.net/projects/phpexcelreader/

或者

http://d.download.csdn.net/source/412364

该 class 使用的方法可以参考网站下载回来的压缩档中的 example.php。

不过我下载回来的 (版本 2007-07-05 19:57),有两点要注意:

reader.php 中的下面这行要修改

将 require_once 'Spreadsheet/Excel/Reader/OLERead.php';

改为 require_once 'oleread.inc';

example.php 中

修改 $data->setOutputEncoding('CP1251');

为 $data->setOutputEncoding('CP936');

不然中文会有问题。

繁体的话可以修改为CP950、日文是CP932,具体可参考codepage说明。

修改 $data->read('jxlrwtest.xls');

为自己的 excel 文件名,zip 档中附的 jxlrwtest.xls 应该是坏了。

用了一下,还满不错的!解决了我一个大难题。

若中文输出还是有问题可以参考以下信息(来自互联网):

试着在不同机器上测试,同一个程序,却发现有一台机器的输出有问题,Excel 中的所有中文字都没读出来。由于 Excel 的中文是以 'UTF-16LE' 的编码储存,所以 phpExcelReader 是利用 php 中的 iconv 来转码,而那台机器的 libiconv 版本太旧了,才会无法正常的转码。我将 FreeBSD 上的 libiconv 更新为 libiconv-1.11_1,并且重新编译 php4-iconv 的 ports,安装完新版的 php4-iconv 后,中文就可以正常的输出了。

不过,在编译 php4-iconv 的 ports 时出现了小插曲,原来的 php4 是使用 autoconf253,但是一直出现下面的错误讯息:

configure: error: tag name "CXX" already exists

试了一下,修改 /usr/ports/Mk/bsd.php.mk 中的下面这行:

WANT_AUTOCONF_VER= 253

改成

WANT_AUTOCONF_VER= 259

再重新 make 后,总算是把 php-iconv 编译好。

发表于 2009-05-19 10:50 bestmost 阅读(918) 评论(0)  编辑 收藏 引用 网摘 所属分类: php模块和类库

PHP+excel通用成绩查询系统是个极为简单却非常通用、非常方便的成绩查询系统,通用于几乎所有Excel单二维数据表查询。只需修改 查询条件和顶部、底部文字(非常简单),即可用于几乎所有工资等查询,成绩查询,物业查询,收电费查询,录取查询,证书查询等场景哦。 使用的是PHPexcel查询Excel,测试可用,可能速度偏慢(千条数据无影响) 直接查询Excel数据的第一个表,修改表格后FTP上传,快速搞定,非常方便。 当然LINUX可能xls文件可以倍下载,如果保密数据,请做防下载处理哦。 sae直接上传代码包即可和演示一样的效果,让你可以免费实现查询系统 (免费代码+免费二级域名+免费sae空间) 其他linux PHP环境,如果乱码请用utf-8字符集上传。 1.非常通用。无论你Excel/Wps二维表几列,列标题各是什么,直接支持。其他格式导出为csv或excel后同样支持。查询结果几乎都由你Excel二维表控制,平时只需维护好你的Excel表,而操作Excel,几乎每台电脑都有软件可以打开编辑,几乎谁都会操作。 2.使用简单。只需修改查询条件和标题,然后把你平时输入的excel二维表进行:复制,粘贴,更名,上传,特别方便,发布一次成绩查询,半分钟内可以解决。修改查询查询条件等,记事本打开编辑几个字即可,自定义是否使用验证码。 3.市场广泛。可以广泛用于一次性出来的改动很少的成绩查询,录取查询,证书查询系统(每个学校,教育机构,事业单位考试等都可以用到),工资查询系统(每个企业,学校,所有单位都可能用到),水电费查询系统等(小区,物业公司,大学寝室等),录取,证书查询系统。 4.使用灵活:支持多次查询,比如工资查询往往多月查询,那么你只需一个月放一个数据库,下拉的查询选项自动获取(选项即文件名);且每次查询除了设置的查询条件列的标题得一致外,其他的都是自定义可以不一样(任意列数,任意列标题,任意行数);如果查询条件不一致,将代码文件复制一份后用不同文件夹命名,然后修改查询条件即可使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值