thinkphp利用PHPExcel导出数据实践
2022/2/17 11:45:06
本文主要是介绍thinkphp利用PHPExcel导出数据实践,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
thinkphp利用PHPExcel导出数据实践
作者:chenxing 时间:2018-01-28 17:46 阅读:9032 评论:3 导读
以上就是比较常见也非常简单的phpexcle数据到出方式。
下面是我利用PHPExcel导出数据到excel的一次实践。
第一步,当然是到PHPExcel官网去下载phpexcel插件,将其放到thinkphp的vendor目录下。
第二,将到入数据的具体逻辑封装到工具类中。具体逻辑代码如下:
class UntilLogic { public function phpExcelList($field, $list, $title='文件') { vendor('phpExcel.PHPExcel'); $objPHPExcel = new \PHPExcel(); $objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel); //设置保存版本格式 foreach ($list as $key => $value) { foreach ($field as $k => $v) { if ($key == 0) { $objPHPExcel->getActiveSheet()->setCellValue($k . '1', $v[1]); } $i = $key + 2; //表格是从2开始的 $objPHPExcel->getActiveSheet()->setCellValue($k . $i, $value[$v[0]]); } } header("Pragma: public"); header("Expires: 0"); header("Cache-Control:must-revalidate, post-check=0, pre-check=0"); header("Content-Type:application/force-download"); header("Content-Type:application/vnd.ms-execl"); header("Content-Type:application/octet-stream"); header("Content-Type:application/download");; header('Content-Disposition:attachment;filename='.$title.'.xls'); header("Content-Transfer-Encoding:binary"); // $objWriter->save($title.'.xls'); $objWriter->save('php://output'); } }
第三步,读取需要下载数据,和组合excel数据标题$field参数,直接调用第二步的方法。
opublic function outExcelRecharge() { $where = "1=1"; $data = $dbEngin->field('transactions.*,u.name as uname, k.name as kname')->where($where)->order('id desc')->select(); foreach ($data as $key => $value) { $data[$key]['price'] = number_format($data[$key]['price']/100,2); $data[$key]['uname'] = filterEmoji($value['uname']); } $field = array( 'A' => array('id', 'ID'), 'B' => array('user_id', '用户ID'), 'C' => array('uname', '用户名称'), 'D' => array('created', '时间'), 'E' => array('order_id', '订单号'), 'F' => array('price', '金额(元)'), 'G' => array('coins', '充值金币数'), 'H' => array('device_id', '设备ID'), 'I' => array('ktv_id', 'ktvID'), 'J' => array('kname', 'ktv名称'), 'K' => array('status', '状态(paid:已付款,refunded:已退款,pending:处理中)') ); $until = new UntilLogic(); $until->phpExcelList($field, $data, '充值列表_' . date('Y-m-d')); }
这篇关于thinkphp利用PHPExcel导出数据实践的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-19php8的协程和hyperf的协程有什么区别?-icode9专业技术文章分享
- 2024-12-19php8 的fiber是什么?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-11-29使用PHP 将ETH账户的资产汇集到一个账户
- 2024-11-23怎么实现安卓+php 热更新方案?-icode9专业技术文章分享
- 2024-11-22PHP 中怎么实现判断多个值是否为空、null 或者为 false?-icode9专业技术文章分享
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享