问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php怎样读取excel表格内容?

发布网友 发布时间:2022-04-24 16:50

我来回答

1个回答

热心网友 时间:2022-04-06 03:26

常用的用PHP读取EXCEL的方法有以下三种,各自有各自的优缺点。个人推荐用第三种方法,因为它可以跨平台使用。

1. 以.csv格式读取

将.xls转换成.csv的文本格式,然后再用PHP分析这个文件,和PHP分析文本没有什么区别。

优点:跨平台,效率比较高、可以读写。

缺点:只能直接使用.csv的文件,如果经常接受.xls二进制文件的话需要手工转换,不能自动化。一个文件只有一个SHEET。

PHP有自带的分析.csv函数:fgetcsv

array fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )

handle 一个由 fopen()、popen() 或 fsockopen() 产生的有效文件指针。

length (可选)必须大于 CVS 文件内最长的一行。在 PHP 5 中该参数是可选的。如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有*,不过可能会影响执行效率。

delimiter (可选)设置字段分界符(只允许一个字符),默认值为逗号。

enclosure (可选)设置字段环绕符(只允许一个字符),默认值为双引号。该参数是在 PHP 4.3.0 中添加的。 和 fgets() 类似,只除了 fgetcsv() 解析读入的行并找出 CSV 格式的字段然后返回一个包含这些字段的数组。

fgetcsv() 出错时返回 FALSE,包括碰到文件结束时。

注意: CSV 文件中的空行将被返回为一个包含有单个 null 字段的数组,不会被当成错误。

当然也可以自己手动分析字符串。

还可以利用fputcsv函数将行格式化为 CSV 并写入文件指针。

2. ODBC链接数据源

优点:支持多种格式,cvs, xls等。支持读写,使用标准SQL语言,和SQLSERVER、MYSQL数据库几乎完全一样。

缺点:值支持windows服务器

3. PHP自定义类

优点:跨平台。某些类支持写操作。支持.xls二进制文件

常用的类有phpExcelReader、PHPExcel。其中后者支持读写,但是需要php5.2以上版本。

phpExcelReader是专门用来读取文件的。返回一个数组,包含表格的所有内容。

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

不过我下载回来的 (版本 2009-03-30),有两点要注意:

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

将 require_once ‘Spreadsheet/Excel/Reader/OLERead.php’;

改为 require_once ‘oleread.inc’;

example.php 中

修改 $data->setOutputEncoding(’CP1251′);

为 $data->setOutputEncoding(’CP936′);

example2.php 中

修改 nl2br(htmlentities($data->sheets[$sheet]['cells'][$row][$col]));

为 $table_output[$sheet] .= nl2br(htmlspecialchars($data->sheets[$sheet]['cells'][$row][$col]));

不然中文会有问题。

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

修改 $data->read(’jxlrwtest.xls’) 为自己的 excel 文件名,zip 档中附的 jxlrwtest.xls 应该是坏了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
急求高人解答 ···管理类的问题 ···!!!急急急···我会在线等... ...如果基层管理幅度为8,高层管理人员管理幅度为3,则该公司中层管理人员... ...发生化学变化的实质是( )A.分子间隔发生变化B.物质状态发生改变C... 下列变化不能说明发生了化学变化的是( )A.变化时有电子的得失或共用电... 下列描述正确的是( )A.固态物质的分子间无间隔B.液态物质的分子不断运动... 原来微信打开这个功能,能够看到马路上的街景,涨知识了! ...百度帐号被人在异地登录了,问题是没有任何人知道我的密码啊?而且也... 医疗事故纠纷和医疗损害纠纷的区别是什么 医疗纠纷与医疗事故的定义是什么? 医疗事故纠纷是指什么的 php怎么读取excel 文件数据并输出 php怎么读取txt文本内容存入mysql数据库 PHP中读取文件的几个方法 php读取文件操作 PHP读取文件内容 php如何高效的读取大文件 元旦晚会主持人歌曲串词? php 如何读取大文件里的内容 php怎么写入文件并且读取,希望大佬们给我写一下讲一下原理谢谢?_百度... 关于童话这首歌的报幕词 PHP file_get_contents()读入文件问题? 男生独唱 《老师,我想你》的介绍台词该怎样写 PHP如何实现读取指定文件内的某些内容 php如何动态读取一个文件内容? 这些歌曲的报幕词应该怎么写? 校园举行班班有歌声比赛,主持人串词应该怎么写? 1.php中读取文件内容的几种方法 怎样写串词(报幕词),关于《听妈妈讲那过去的事情》这首歌 php如何获取文件内容? 欢送毕业生晚会主持人串词(老师的节目) 什么是水基灭火器 水基型灭火器的介绍 水基型灭火器缺点在哪些方面 专利的审查要经过哪些阶段 发明专利的审核期限是多久? 发明专利申请需要哪些步骤 黄金首饰会发黑的原因是什么 黄金火烧完发黑~! 关于我心中的巴学园的作文100字 作文巴学园 黄金发黑是为什么啊? 巴学园有什么特别之处 我的新学校巴学园600个字 电脑上的Microsoft Office的软件突然没有了 程序里也找不到。如何恢复。 巴学园是什么样的? 电脑上删了一个驱动精灵的子软件,然后桌面上的东西都不见了,怎么恢复 家长的困惑:选择了巴学园意味着什么 我要巴学园的简介 巴学园最后怎么消失的 巴学园的教育观念是什么