php怎样读取excel表格内容?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php怎样读取excel表格内容?相关的知识,希望对你有一定的参考价值。

参考技术A 常用的用PHP读取EXCEL的方法有以下三种,各自有各自的优缺点。个人推荐用第三种方法,因为它可以跨平台使用。\\x0d\\x0a\\x0d\\x0a1. 以.csv格式读取\\x0d\\x0a\\x0d\\x0a将.xls转换成.csv的文本格式,然后再用PHP分析这个文件,和PHP分析文本没有什么区别。\\x0d\\x0a\\x0d\\x0a优点:跨平台,效率比较高、可以读写。\\x0d\\x0a\\x0d\\x0a缺点:只能直接使用.csv的文件,如果经常接受.xls二进制文件的话需要手工转换,不能自动化。一个文件只有一个SHEET。\\x0d\\x0a\\x0d\\x0aPHP有自带的分析.csv函数:fgetcsv\\x0d\\x0a\\x0d\\x0aarray fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )\\x0d\\x0a\\x0d\\x0ahandle 一个由 fopen()、popen() 或 fsockopen() 产生的有效文件指针。\\x0d\\x0a\\x0d\\x0alength (可选)必须大于 CVS 文件内最长的一行。在 PHP 5 中该参数是可选的。如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。\\x0d\\x0a\\x0d\\x0adelimiter (可选)设置字段分界符(只允许一个字符),默认值为逗号。\\x0d\\x0a\\x0d\\x0aenclosure (可选)设置字段环绕符(只允许一个字符),默认值为双引号。该参数是在 PHP 4.3.0 中添加的。 和 fgets() 类似,只除了 fgetcsv() 解析读入的行并找出 CSV 格式的字段然后返回一个包含这些字段的数组。\\x0d\\x0a\\x0d\\x0afgetcsv() 出错时返回 FALSE,包括碰到文件结束时。\\x0d\\x0a\\x0d\\x0a注意: CSV 文件中的空行将被返回为一个包含有单个 null 字段的数组,不会被当成错误。\\x0d\\x0a\\x0d\\x0a当然也可以自己手动分析字符串。\\x0d\\x0a\\x0d\\x0a还可以利用fputcsv函数将行格式化为 CSV 并写入文件指针。\\x0d\\x0a\\x0d\\x0a2. ODBC链接数据源\\x0d\\x0a\\x0d\\x0a优点:支持多种格式,cvs, xls等。支持读写,使用标准SQL语言,和SQLSERVER、MYSQL数据库几乎完全一样。\\x0d\\x0a\\x0d\\x0a缺点:值支持windows服务器\\x0d\\x0a\\x0d\\x0a3. PHP自定义类\\x0d\\x0a\\x0d\\x0a优点:跨平台。某些类支持写操作。支持.xls二进制文件\\x0d\\x0a\\x0d\\x0a常用的类有phpExcelReader、PHPExcel。其中后者支持读写,但是需要php5.2以上版本。\\x0d\\x0a\\x0d\\x0aphpExcelReader是专门用来读取文件的。返回一个数组,包含表格的所有内容。\\x0d\\x0a\\x0d\\x0a该 class 使用的方法可以参考网站下载回来的压缩档中的 example.php。\\x0d\\x0a\\x0d\\x0a不过我下载回来的 (版本 2009-03-30),有两点要注意:\\x0d\\x0a\\x0d\\x0areader.php 中的下面这行要修改\\x0d\\x0a\\x0d\\x0a将 require_once ‘Spreadsheet/Excel/Reader/OLERead.php’;\\x0d\\x0a\\x0d\\x0a改为 require_once ‘oleread.inc’;\\x0d\\x0a\\x0d\\x0aexample.php 中\\x0d\\x0a\\x0d\\x0a修改 $data->setOutputEncoding(’CP1251′);\\x0d\\x0a\\x0d\\x0a为 $data->setOutputEncoding(’CP936′);\\x0d\\x0a\\x0d\\x0aexample2.php 中\\x0d\\x0a\\x0d\\x0a修改 nl2br(htmlentities($data->sheets[$sheet][\'cells\'][$row][$col]));\\x0d\\x0a\\x0d\\x0a为 $table_output[$sheet] .= nl2br(htmlspecialchars($data->sheets[$sheet][\'cells\'][$row][$col]));\\x0d\\x0a\\x0d\\x0a不然中文会有问题。\\x0d\\x0a\\x0d\\x0a繁体的话可以修改为CP950、日文是CP932,具体可参考codepage说明。\\x0d\\x0a\\x0d\\x0a修改 $data->read(’jxlrwtest.xls’) 为自己的 excel 文件名,zip 档中附的 jxlrwtest.xls 应该是坏了。

对PHPExcel一些简单的理解 及怎么读取单元格数据

参考技术A 常用的用PHP读取EXCEL的方法有以下三种,各自有各自的优缺点。个人推荐用第三种方法,因为它可以跨平台使用。 1. 以.csv格式读取 将.xls转换成.csv的文本格式,然后再用PHP分析这个文件,和PHP分析文本没有什么区别。本回答被提问者采纳

以上是关于php怎样读取excel表格内容?的主要内容,如果未能解决你的问题,请参考以下文章

php 读取excel表格中的内容

怎样用VB读取Excel文件中表格中的数据?

怎样读取excel某一列的每一行内容

C#WPF应用程序怎样读取excel表格数据?

对PHPExcel一些简单的理解 及怎么读取单元格数据

求助:Python接口自动化-如何遍历读取excel表格