ThinkPHP框架下读取excel数据的方法示例

原创 2016年08月31日 16:33:56

在ThinkPHP框架下,读取excel数据的方法示例:

在操作前,应该在系统框架的扩展目录中添加ORG库,即要包含\ThinkPHP\Extend\Library\ORG\Excel\Spreadsheet_Excel_Reader.class.php文件及其相关支持文件。

<?php
header("Content-type: text/html; charset=utf-8");
class MesTestAction extends Action {
    //读取excel
    public function testReadExcel(){
        $filename = $_FILES['filexls']['tmp_name'];
        if ( empty($filename) ) {
            $this->error('上传文件不能为空');
            error_reporting(6135);
        } else {
            echo '文件临时名称: '.$filename.'<br/>';
        }
        
        import("ORG.Excel.Spreadsheet_Excel_Reader");
        $data = new Spreadsheet_Excel_Reader();
        $data->setOutputEncoding('utf-8');
        $data->read($filename);        
        $sheetNum = count($data->sheets);
        if ( ! $sheetNum ) {//sheet页数为0
            $this->error('文件内容不能为空!');
        } else {
            echo 'sheet总页数: '.$sheetNum.'<br/>';
        }

        for ( $j = 0; $j < $sheetNum; ++$j) {
            echo '第'.($j + 1).'页,'; //var_dump($data->sheets[$j]);die('as');
            $arrsrc = $data->sheets[$j]['cells'];
            array_shift($arrsrc); //去除excel第一行标头
            $counts = count($arrsrc);   //总条数
            if ($counts == 0) {
                echo '无有效数据'.'<br/>';
            }else{
                echo '行数'.$counts.'<br/>';
                foreach ($arrsrc as $keyRow => $valueRow) {
                    if ( is_array($valueRow) ) {
                        foreach ($valueRow as $keyCol => $valueCol) {
                            echo $valueCol.'    ';
                        }
                        echo '<br/>';
                    } else {
                        echo $valueRow.'<br/>';
                    }
                }
            }
        }        
    }
}
?>


测试时使用的html页面代码为:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>测试excel解析</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="renderer" content="webkit" />
</head>
<body>
<!-- content -->
<div class="wbBox" style="background:#fff">
<form method="post" action="/WebDocument/App/Message/index.php/MesTest/testReadExcel" enctype="multipart/form-data" >
	<input type="file" name="filexls" id="file11" onchange="document.getElementById('filename').value=this.value;" style=" padding:0; "/>
	<input id="filename" type="text" />
	<label for="file11" id="upshow" type="button" />浏览 </label>
</form>
</body>
</html>



thinkphp5中使用PHPExcel

thinkphp5中可以使用composer来获取第三方类库,使用起来特别方便,例如:可是使用composer下载PHPMailer,think-captcha(验证码)等等…… 接下来说一下怎么使用...
  • Iloveyougirls
  • Iloveyougirls
  • 2016年11月18日 09:58
  • 7426

thinkphp实现excel数据的导入导出

首先需要确认项目内是否存在 ThinkPHP/Library/Org/Util/PHPExcel ThinkPHP/Library/Org/Util/PHPExcel.class.php //模板代码...
  • hdxyzlh_0225
  • hdxyzlh_0225
  • 2016年07月07日 10:35
  • 3417

php/thinkphp使用PHPExcel解析表格数据,生成表格案例

我使用的是thinkphp框架 遇到个一场景,发货员发货之后需要一个一个给用户发通知短信,效率太低,所以我就想到了模板短信, 降到效率问题,我是这样设计的,他把Excel导入,我通过phpExce...
  • fei003
  • fei003
  • 2017年06月13日 11:56
  • 459

ThinkPHP导入excel表获取数据

public function testExcel($filename, $exts){         //导入PHPExcel类库,因为PHPExcel没有用命名空间,只能inport导入    ...
  • larvin18
  • larvin18
  • 2016年06月29日 11:08
  • 258

thinkphp3.2读取Excel文件

由于thinkphp3.2使用命名空间,而 PHPExcel没有使用,那么两者整合的最重要问题就是如何导入的问题。 PHPExcel.php和PHPExcel文件夹都放在ThinkPHP/Libra...
  • u010716097
  • u010716097
  • 2017年05月27日 15:47
  • 621

ThinkPHP框架下读取excel数据的方法示例

在ThinkPHP框架下,读取excel数据的方法示例: 在操作前,应该在系统框架的扩展目录中添加ORG库,即要包含\ThinkPHP\Extend\Library\ORG\Excel\Spread...
  • chinawangfei
  • chinawangfei
  • 2016年08月31日 16:33
  • 2294

ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例

(一)导入Excel 第一,在前台html页面进行上传文件:如: 导入Excel表: 第二,在对应的php文件进行文件的处理 if (! empty ( $_FILES...
  • liuxiaojun828
  • liuxiaojun828
  • 2015年01月01日 14:58
  • 1613

ThinkPHP框架下导出excel数据的方法示例

在ThinkPHP框架下,导出excel数据的方法示例: 在操作前,应该在系统框架的扩展目录中添加ORG库,即要包含ThinkPHP\Extend\Library\ORG\Util\PHPExcel....
  • chinawangfei
  • chinawangfei
  • 2016年08月30日 16:41
  • 2133

记一次ThinkPHP源码审计

转载自:http://ecma.io/724.html 一、写在前面 周末闲得蛋疼,审了一套朋友给的系统,过程挺有意思的,开始的时候觉得基于TP3.0二次开发的系统应该是蛮简单的,毕竟...
  • ivan820819
  • ivan820819
  • 2017年06月29日 15:54
  • 329

tp5.0/Thinkphp5+PHPExcel实现批量上传表格数据功能

1.首先要下载PHPExcel放到vendor文件夹下,        我的路径是:项目/vendor/PHPExcel/,把下载的PHPExcel文件放在这里2.前端代码3.后台代码输出结果:注意:...
  • qq_35979073
  • qq_35979073
  • 2018年02月24日 14:41
  • 34
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ThinkPHP框架下读取excel数据的方法示例
举报原因:
原因补充:

(最多只允许输入30个字)