您好,欢迎访问一九零五行业门户网

PHP读取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二进制文件
test.php 中
修改 $data->setoutputencoding('cp1251');
为 $data->setoutputencoding('cp936');
简体中文cp936、繁体的话可以修改为cp950、日文是cp932,等。
修改 $data->read('three.xls') 为自己的 excel 文件名。
以上就介绍了php读取excel的方法 上,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。
其它类似信息

推荐信息