当前位置: 首页 > news >正文

Layui表单查询导出

1.前端界面

<!--html-->
<form class="layui-form layui-form-pane form-save" action=""><div class="layui-col-xs3 layui-col-sm3 layui-col-md3" style=""><textarea name="provider_order_id" class="layui-input"></textarea></div><button class="layui-btn layui-btn-primary layui-btn-md" lay-submit="search" lay-filter="search" id="search" data-type="search">查询</button><button class="layui-btn layui-btn-danger layui-btn-md" lay-submit="export" lay-filter="export" id="export" data-type="export">导出</button>
</form>
// 表单提交
form.on('submit(export)', function(data){var parames = new Array();parames.push({ name: 'data', value: JSON.stringify(data.field)});Post("<?php echo Url::toRoute('url');?>", parames);return false;
});// 跳转后端接口
function Post(URL, PARAMTERS) {//创建form表单var temp_form = document.createElement("form");temp_form.action = URL;//如需打开新窗口,form的target属性要设置为'_blank'temp_form.target = "_blank";temp_form.method = "post";temp_form.style.display = "none";//添加参数for (var item in PARAMTERS) {var opt = document.createElement("textarea");opt.name = PARAMTERS[item].name;opt.value = PARAMTERS[item].value;temp_form.appendChild(opt);}document.body.appendChild(temp_form);//提交数据temp_form.submit();
}

2.后端业务

/*** 接受查询条件和查询* */
public function actionExport(){if (Yii::$app->request->isPost){$post = Yii::$app->request->post('data');$post = json_decode($post,true);$data1 = $this->getdata($post);foreach ($data1['data'] as $k => $d){$data[$k]['provider_order_id'] = $d['provider_order_id'];// ..}$this->xlsWriteExcel('orderNum,value','订单号,订单价格',$data);}
}/*** 插件导出* */function xlsWriteExcel($field,$header,$data,$fileName='自定义导出'){require_once Yii::getAlias('@vendor') . '/phpxlsxwriter/vendor/autoload.php';header("Content-Type: text/html;charset=utf-8");error_reporting(E_ALL);set_time_limit(0);ob_start();$sheet = 'Sheet1';$writer = new \XLSXWriter();$field = explode(',',$field);$header = explode(',',$header);$header = array_fill_keys($header,"string");$styles1 = array('font'=>'宋体','font-size'=>10,'font-style'=>'bold', 'fill'=>'#eee','halign'=>'center','border'=>'left,right,top,bottom');$title = array_keys($header);$writer->writeSheetRow($sheet, $title, $styles1);if(!empty($data)){foreach ($data as $k=>$v){foreach ($field as $k1=>$v1){if(isset($v[$v1])){$rows[$k1] = $v[$v1].' ';}else{$rows[$k1] = '';}}$writer->writeSheetRow($sheet, $rows, $styles1);}}$filename = $fileName.date('YmdHis',time()).'.xlsx';$tempFile = tempnam(sys_get_temp_dir(), 'excel');$writer->writeToFile($tempFile);header('Content-Type: application/octet-stream');header('Content-Disposition: attachment; filename=' . $filename);readfile($tempFile);unlink($tempFile);}

相关文章:

  • IDEA激活失败--脚本分析
  • 实习结帖(flask加上AIGC实现设计符合OpenAPI要求的OpenAPI Schema,让AIGC运行时可以调用api,协助公司门后迁移新后端等)
  • 以太网交换安全:MAC地址表安全
  • 51单片机学习第六课---B站UP主江协科技
  • 读数据湖仓04数据架构与数据工程
  • SkyWalking 自定义链路追踪
  • 【ShuQiHere】从机器语言到汇编语言:深入理解 LC-3 编程 ️
  • 矩阵学习过程中的一些思考
  • 万界星空科技铜拉丝行业MES系统,实现智能化转型
  • 7天的Django实战学习计划
  • ECharts 快速使用
  • mybatisplus的查询,分页查询,自定义多表查询,修改的几种写法
  • class 030 异或运算的骚操作
  • 汽车总线之---- LIN总线
  • Python 解析 html
  • 分享的文章《人生如棋》
  • [NodeJS] 关于Buffer
  • android 一些 utils
  • CSS盒模型深入
  • CSS实用技巧
  • css属性的继承、初识值、计算值、当前值、应用值
  • ES6系列(二)变量的解构赋值
  • javascript 总结(常用工具类的封装)
  • Map集合、散列表、红黑树介绍
  • Node 版本管理
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Vue.js源码(2):初探List Rendering
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 前端攻城师
  • 源码安装memcached和php memcache扩展
  • 仓管云——企业云erp功能有哪些?
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • #NOIP 2014#Day.2 T3 解方程
  • (07)Hive——窗口函数详解
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (JS基础)String 类型
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (Python第六天)文件处理
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (生成器)yield与(迭代器)generator
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • .apk 成为历史!
  • .JPG图片,各种压缩率下的文件尺寸
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .Net Core与存储过程(一)
  • .net 获取url的方法
  • .net2005怎么读string形的xml,不是xml文件。
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?