当前位置:博客首页>>PHP >> 阅读正文

简单强大的php读取excel类:Spreadsheet_Excel_Reader

作者: 郑晓 分类: PHP 发布于: 2013-01-15 18:24 浏览(23,344) 评论(16)


之前使用php导入excel的表格数据时都是使用php内置的fgetcsv()函数,即把要导入的文件先用excel另存为.csv格式,再用fgetcsv函数循环读取,稍微有些累,不过还可以实现一些基本的导入操作。

$handle = fopen('data.csv','r');
while($row = fgetcsv($handle,1000)) {
$array[] = $row;
}

有点像使用mysql,先读取出资源,再fetch_array。今天从一朋友那里发现了一个比较强大、使用简单的类库来实现直接.xls文件的导入:Spreadsheet_Excel_Reader。

include('/Excel/reader.php'); //引入类库,类的配置文件已经被此文件引入
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('UTF-8'); //设置输出的编码为utf8
$data->read('data.xls'); //要读取的excel文件地址
echo '<pre>';
print_r($data->sheets[0]); //打印输出sheet数组。

友情提示:这只是默认表格只有一个工作表的情况,有多张工作时使用$data->sheets[1]、$data->sheets[2]… 仅限字段为纯文本的表格,如果包含日期等特殊字段的话可能会有问题,我也没试过,需要你自己去测试。
类文件和DEMO

       

本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。

本文永久链接: https://www.zh30.com/spreadsheet-excel-reader-php-read-excel.html

简单强大的php读取excel类:Spreadsheet_Excel_Reader:目前有16 条留言

用户评论头像 发表于 2017年12月31日 11:33[回复]

请问 怎么取得 xlsx格式的表格?

用户评论头像 jikverking发表于 2017年05月18日 08:51[回复]

有没有做打包好的代码和测试的表数据库啊!!!下载有inc文件没法解压啊

    用户评论头像 郑晓发表于 2017年05月18日 17:00[回复]

    已经更新,添加了demo示例。

      用户评论头像 EasonC发表于 2017年10月29日 23:17[回复]

      你好,请问一下你更新的demo在哪里呢?我怎么看不到啊?

        用户评论头像 郑晓发表于 2017年10月30日 11:45[回复]

        最后一句的后面,那不是有一个“类文件和DEMO”的链接吗?

用户评论头像 toben发表于 2013年12月20日 16:06[回复]

直接把Spreadsheet_Excel_Reader类里var $dateFormats的格式给改了就行了。

    用户评论头像 feng1680发表于 2015年09月09日 15:19[回复]

    下载class

      用户评论头像 郑晓发表于 2015年09月11日 09:13[回复]

      你好,已更新Spreadsheet_Excel_Reader类库的下载链接。

用户评论头像 为什么总是提示读不到excel文件发表于 2013年12月11日 11:21[回复]

The filename 1.xls is not readable 这什么情况啊

    用户评论头像 郑晓发表于 2013年12月11日 11:52[回复]

    这是提示1.xls文件不可读,程序没有读取该文件的权限,检查一下这个文件的权限吧。

      用户评论头像 能干的面茶发表于 2016年02月01日 17:51[回复]

      要看后缀是不是xls,而不是xlsx

      用户评论头像 打不开。。。发表于 2017年12月26日 23:18[回复]

      自己 xls文件打不开,还有个问题demo能打开xlsx后缀的文件么,我只能打开你demo里的文件,我已经给了那个xls文件所有权限,还是打不开

        用户评论头像 郑晓发表于 2017年12月27日 00:42[回复]

        xlsx不能读,你可以试试phpexcel这个库, 文中提到的这个应该是太老了只能读xls。

用户评论头像 液晶广告机发表于 2013年01月23日 13:24[回复]

可以写一写ASP语言和网站SEO优化的内容不?

    用户评论头像 郑晓发表于 2013年01月23日 13:25[回复]

    我目前还不会asp… 😥

用户评论头像 y1丶razy发表于 2013年01月16日 13:21[回复]

日期也是用的纯文本,不过写库的时候处理一下