thinkphp5.0数据导出excel表格
第一步、创建Model类文件(名称自定)
第二步、在类中写入以下代码
<?php namespace Admin\admin\model; use think\Model; class MarkModel extends Model{ //导出预约信息
public function outExcel1(){ $del=@implode(",",$_POST["del"]); if($del!=""){ $art = db('messga'); $where['id'] = array('in',$del); $rs = $art->where($where)->order('id desc')->select(); foreach ($rs as $v){
$excdata[]=array( 'id'=>$v["id"], 'names'=>$v["names"], 'phone'=>$v["phone"], 'email'=>$v["email"], 'cid'=>$v["cid"], 'companynames'=>$v["companynames"], 'tel'=>$v["tel"], 'num'=>$v["num"], 'p_names'=>$v["p_names"], 'dates'=>date('Y-m-d H:i:s',$v["dates"]) );
} }else{ $art = db('message'); $rs = $art->order('id desc')->select(); foreach($rs as $v){
$excdata[]=array( 'id'=>$v["id"], 'names'=>$v["names"], 'phone'=>$v["phone"], 'email'=>$v["email"], 'cid'=>$v["cid"], 'companynames'=>$v["companynames"], 'tel'=>$v["tel"], 'num'=>$v["num"], 'p_names'=>$v["p_names"], 'dates'=>date('Y-m-d H:i:s',$v["dates"]) );
} //echo "<script>alert ('请选中要导出的数据'); history.go(-1);</script>"; } //数组信息根据自己项目而定
$expCellName=array( array('id','序号'), array('names','姓名'), array('phone','电话'), array('email','邮箱'), array('companynames','公司名称'), array('num','人数'), array('cid','公开课'), array('p_names','职务'), array('tel','座机'), array('dates','提交日期') ); $this->exportExcel('留言信息',$expCellName,$excdata); exit; } /** * 导出操作 * 参数1:$expTitle :导出excel的标题 * 参数2:$expCellName:导出到表格中需要显示每一列的标题 如下: * $expCellName=array( * 参数三:$expTableData : 需要导出的表中数据 * * */ public function exportExcel($expTitle='', $expCellName, $expTableData){ //引入PHPExcell类
import('PHPExcel.Classes.PHPExcel'); import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory'); $xlsTitle = iconv('utf-8', 'gb2312', $expTitle); //文件名称 $fileName = $expTitle.date('_YmdHis'); //or $xlsTitle 文件名称可根据自己情况设定 $cellNum = count($expCellName); $dataNum = count($expTableData); vendor("phpoffice.phpexcel.Classes.PHPExcel"); $objPHPExcel = new \PHPExcel(); $cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); // 设置水平垂直居中 $objPHPExcel->getActiveSheet()->getDefaultStyle()->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getActiveSheet()->getDefaultStyle()->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER); //设置excel表格 从 A1 到 AB1 这一行的字体加粗 $objPHPExcel->getActiveSheet()->getStyle('A1:AB1')->getFont()->setBold(true); // 设置某一行的高度 1.2.3 $objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(20); //J 、 K列为文本 (输入什么就是什么,不会随着excel系统格式变化) // $objPHPExcel->getActiveSheet()->getStyle('J')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT); // $objPHPExcel->getActiveSheet()->getStyle('K')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT); //设置某一列的宽度 $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(25); $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(25); $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(25); $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(45); $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(105); $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(20); $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(20); $objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(20); $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(20); // 设置某一行的高度 1.2.3 $objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(20); // 隐藏某一列 //$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setVisible(false); //$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setVisible(false); //$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setVisible(false); //$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setVisible(false); //合并单元格 // $objPHPExcel->getActiveSheet(0)->mergeCells('A1:' . $cellName[$cellNum - 1] . '1'); // $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $expTitle.' Export time:'.date('Y-m-d H:i:s')); for ($i = 0; $i < $cellNum; $i++) { $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i] . '1', $expCellName[$i][1]); } // Miscellaneous glyphs, UTF-8 for ($i = 0; $i < $dataNum; $i++) { for ($j = 0; $j < $cellNum; $j++) { $objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j] . ($i + 2), $expTableData[$i][$expCellName[$j][0]]); } } // header('pragma:public'); header('Content-type:application/vnd.ms-excel;charset=utf-8;name="' . $xlsTitle . '.xls"'); header("Content-Disposition:attachment;filename={$fileName}.xls"); //attachment新窗口打印inline本窗口打印 $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit; } }
3.写个自定义方法调用(字段换成自己的)
thinkphp5.0数据导出excel表格的更多相关文章
- 使用POI实现数据导出Excel表格
package cn.sh.bzt.kwj.action; import java.io.IOException; import java.io.OutputStream; import java.t ...
- 【前端】将前台table数据导出excel表格
1.首先引用jquery以及table2excel <script type="text/javascript" src="js/jquery.table2exce ...
- 一个php文件就可以把数据库的数据导出Excel表格
数据库内容太多,复制粘贴太麻烦?那就用代码实现把,把代码写好了,导出还不容易吗,访问即可导出. excel.php <?php error_reporting(E_ALL ^ E_DEPRECA ...
- 数据导出Excel表格
public String exportInfoFr(String path,String name,String startdate,String enddate,SysUser user){ Li ...
- 百度地图里面搜索到的公司商家电话导出表格?怎样将把百度地图里面搜索到的公司 电话 地址 等数据导出excel里?
好多人在问:如何将百度地图里面搜索到的公司商家电话导出表格?怎样将把百度地图里面搜索到的公司 电话 地址 等数据导出excel里? 现在,很多人都在网络上找商家,联系业务. 百度地图里有很多的商家联系 ...
- 导出数据到Excel表格
开发工具与关键技术:Visual Studio 和 ASP.NET.MVC,作者:陈鸿鹏撰写时间:2019年5月25日123下面是我们来学习的导出数据到Excel表格的总结首先在视图层写导出数据的点击 ...
- NPOI_winfrom导出Excel表格(二)(直接打开Excel软件,将数据填充在当前的sheet中)
//// 存储路径弹框选择 SaveFileDialog saveDialog = new SaveFileDialog(); saveDialog.DefaultExt = "xls&qu ...
- Java操作Jxl实现导出数据生成Excel表格数据文件
实现:前台用的框架是Easyui+Bootstrap结合使用,需要引入相应的Js.Css文件.页面:Jsp.拦截请求:Servlet.逻辑处理:ClassBean.数据库:SQLserver. 注意: ...
- Python导出数据到Excel表格-NotImplementedError: formatting_info=True not yet implemented
在使用Python写入数据到Excel表格中时出现报错信息记录:“NotImplementedError: formatting_info=True not yet implemented” 报错分析 ...
随机推荐
- 如何在Fluent使用非牛顿流体【转载】
转载自:http://blog.sciencenet.cn/blog-267817-747504.html 1.非牛顿流体:剪应力与剪切应变率之间满足线性关系的流体称为牛顿流体,而把不满足线性关系的流 ...
- DELPHI开发LINUX的动态库
DELPHI开发LINUX的动态库 WINDOWS的动态库是.dll,这个大家都知道. LINUX也有动态库,扩展名是.so,现在DELPHI也能开发LINUX的动态库哦. DELPHI对LINUX的 ...
- Jar hell问题以及解放方法
当一个类或一个资源文件存在多个jar中,就好存在jar hell问题 可以通过以下代码来诊断问题:
- 小程序map地图上显示多个marker
wxml <map id="myMap" style="width: {{mapWidth}}rpx; height: {{mapHeight}}rpx;" ...
- shell编程系列11--文本处理三剑客之sed利用sed删除文本中的内容
shell编程系列11--文本处理三剑客之sed利用sed删除文本中的内容 删除命令对照表 命令 含义 1d 删除第一行内容 ,10d 删除1行到10行的内容 ,+5d 删除10行到16行的内容 /p ...
- IDEA Git 修改后的文件无法Commit
转自:https://blog.csdn.net/moneyshi/article/details/81298861 因对IDEA使用不熟,在使用和配置GIT的时候,可能哪里配置错误,导致我一直无法使 ...
- linux普通用户添加root权限
新增一个普通用户并进入该用户: [root@VM_0_7_centos ~]# groupadd mall [root@VM_0_7_centos ~]# useradd mall -m -d /ho ...
- jenkins下载插件Git Parameter插件
登陆jekinse -> 点击左边菜单列表 -> 点”系统管理“ -> 下拉点”插件管理“ -> 选“可选插件”,在右上角过滤框输入”Git Parameter” -> ...
- MyBatis-Spring项目
使用Spring IoC可以有效管理各类Java资源,达到即插即拔功能:通过AOP框架,数据库事务可以委托给Spring处理,消除很大一部分的事务代码,配合MyBatis的高灵活.可配置.可优化SQL ...
- tensor&ndarray&int、float
(1)如果tensor只有一个元素,然后转换成int或者float类型的时候直接用int()或者float()就可以了: (2)如果tensor含有多个元素,转换成ndarray时就要用x.detac ...