QQ访问访问

导出excel

学习笔记 2019-08-08 16:26:45 287 0

【摘要】数据查询,导出相关数据内容


不废话直接上代码,最近接手的项目,要做一个搜索加导出excel文件


项目是ThinkPHP5.0


首先第一步,下载excel扩展文件


我的百度网盘链接:https://pan.baidu.com/s/1FdLx-80xoEjlbgFVWNwSEg,如果找不到的同学,可以找我要,博客上有QQ号


把下载的文件直接放到


QQ图片20190808160359.png

QQ图片20190808160405.png

QQ图片20190808160408.png


放后出,前端代码,触发导出的事件


image.png


QQ图片20190808160747.png


image.png


后台控制器的代码,由于公司分配的电脑屏有点小,代码分两张


image.png

image.png

image.png


以上操作就已经完成了,代码有注释


直接贴代码

前端代码,我用的是layui前端框架


<div class="demoTable">

        <div class="layui-inline">

          <input class="layui-input" name="wallet_name" id="wallet_name" style="width:200px;" placeholder="{:lang('pleaseEnter')}钱包名称">

        </div>

        <div class="layui-inline">

          <div class="layui-input-inline">

            <input type="text" class="layui-input" name="updatetime" id="updatetime" placeholder="yyyy-MM-dd">

          </div>

          <label class="layui-form-label">日期</label>

          <button class="layui-btn" id="search" data-type="reload">{:lang('search')}</button>

        </div>

        <button class="layui-btn" id="derive"><i class="layui-icon">导出</i></button>

      </div>


// 导出

layui.use('table', function() {

    $('#derive').click(function(){

      var wallet_name = $('#wallet_name').val();

      var updatetime = $('#updatetime').val();

      // 钱包名和时间都空为,全部导出

      if ($.trim(wallet_name) === '' && $.trim(updatetime) === '') {

        window.location.href="/sdkfjf/Infolist/daochu_all";

      }

    })

  })


后端代码

// 没传东西,全部导出

public function daochu_all(){

$map['type'] = 2;

$lists = db('user_tibi')

 ->where($map)

->order('id desc')

->select();

//加载PHPExcle类库

vendor('PHPExcel.PHPExcel');

//实例化PHPExcel类

$objPHPExcel = new PHPExcel();

//激活当前的sheet表

$objPHPExcel->setActiveSheetIndex(0);

//设置表格头(即excel表格的第一行)

$objPHPExcel->setActiveSheetIndex(0)

->setCellValue('A1', 'ID')

->setCellValue('B1', '订单号')

->setCellValue('C1', '钱包名称')

->setCellValue('D1', '币名')

->setCellValue('E1', '数量')

->setCellValue('F1', '手续费');

//设置A列水平居中

$objPHPExcel->setActiveSheetIndex(0)->getStyle('A')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

//设置单元格宽度

$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('A')->setWidth(10);

$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('B')->setWidth(15);

$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('C')->setWidth(15);

$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('D')->setWidth(15);

$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('E')->setWidth(15);

$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('F')->setWidth(15);

//循环刚取出来的数组,将数据逐一添加到excel表格。

for($i=0;$i<count($lists);$i++){

    $objPHPExcel->getActiveSheet()->setCellValue('A'.($i+2),$lists[$i]['id']);//ID

    $objPHPExcel->getActiveSheet()->setCellValue('B'.($i+2),$lists[$i]['order_sn']);// 订单号

    $objPHPExcel->getActiveSheet()->setCellValue('C'.($i+2),$lists[$i]['wallet_name']);// 钱包名称

    $objPHPExcel->getActiveSheet()->setCellValue('D'.($i+2),$lists[$i]['coin']);// 币名

    $objPHPExcel->getActiveSheet()->setCellValue('E'.($i+2),$lists[$i]['number']);// 数量

    $objPHPExcel->getActiveSheet()->setCellValue('F'.($i+2),$lists[$i]['number2']);// 手续费

}

//设置保存的Excel表格名称

$filename = '全部生成xls'.date('ymd',time()).'.xls';

//设置当前激活的sheet表格名称;

$objPHPExcel->getActiveSheet()->setTitle('测试生成xls');

//设置浏览器窗口下载表格

header("Content-Type: application/force-download");  

header("Content-Type: application/octet-stream");  

header("Content-Type: application/download");  

header('Content-Disposition:inline;filename="'.$filename.'"');  

//生成excel文件

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

//下载文件在浏览器窗口

$objWriter->save('php://output');

exit;

}



功能是我参照网上搜索后自己实际操作,希望能帮到有需要的同学





版权归 姚钦鹏博客 所有

本文标题:《导出excel》

本文链接地址:https://www.yaoqinpeng.com/wzxs/222.html

转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

0

0

上一篇《 服务器搭建宝塔的同学,申请多管证书 》 下一篇《 mysqldump备份数据库及下载 》
分享到:

暂无评论

评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情