永发信息网

php导入excel 怎么获取excel表格数据

答案:1  悬赏:10  手机版
解决时间 2021-03-28 09:03
php导入excel 怎么获取excel表格数据
最佳答案
常用的用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]['
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
偶用MuMu模拟器玩九州天空城3D手游的时候,看
北京小学英语一年级上册我叫好孩子怎么读
全国有多少人叫赵乾林
100 k ohms,5%,smt 表示啥意思
讲解100—45=55的运算方法
扎染包括哪几步?只染然有哪些方法
两个A卡交火能超过gtx哪个显卡
依次填入下列各句中横线处的词,最恰当的一组
KOF98,麦卓、里RYO、陈国汉,哪一个更值得练
中国歌手谁的英文歌唱得最好?
求歌名,粤语,其中有一句”有几多知己,多少
黄瓜里面的籽可以吃吗?
求加电视剧电影群,非常感谢。
脑筋急转弯(什么东西当你戴它的时候你却看不
海豚湾恋人白雪
推荐资讯
中秋节和春节哪个隆重?
为什么要选择斯特莱斯发热内衣
跟星尘有关的qq网名
怎么汽车区别涨紧轮过桥轮,过桥轮什么作用,
高中数学中至少有一个的否定是? 在数学中至少
B0221金属缠绕垫片,B0221代表什么意思
《黎明杀机》8月19日更新后没有新屠夫新人物
为什么说只有传统文化才能救中国
功放额定功率 : 2×600W/8Ω 2×1050W
买断式回购和质押式回购的区别
汽车拉缸后完怎么维修
韩国jayjun水光面膜怎么样
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?