thinkphp3.2.3集成phpexcel1.8导出设置单元格合并
1 到这里下载classes里面的文件
https://github.com/PHPOffice/PHPExcel
2 然后放到 thinkphp的vendor 新建一个文件夹 Phpexcel 然后把文件放进去
3 在封装一个函数
- function exportExcel($data, $savefile = null, $title = null, $sheetname = 'sheet1') {
- vendor('Phpexcel.PHPExcel'); //从PHPMailer目录导class.phpmailer.php类文件
- //import("Vendor.excel.phpexcel");
- //若没有指定文件名则为当前时间戳
- if (is_null($savefile)) {
- $savefile = time();
- }
- //若指字了excel表头,则把表单追加到正文内容前面去
- if (is_array($title)) {
- array_unshift($data, $title);
- }
- $objPHPExcel = new \PHPExcel();
- //Excel内容
- $head_num = count($data);
- $obj = $objPHPExcel->setActiveSheetIndex();
- $obj->mergeCells('A1:K1'); //第一行
- $obj->setCellValue('A1','');
- $obj->mergeCells('A2:K2'); //第二行
- $obj->setCellValue('A2','好助教支付清单');
- $obj->mergeCells('A3:K3'); //第三行
- $obj->setCellValue('A3','用户:北交大出版社 时间:2019-01-12至2019-12-12练习册:200种 支付金额:20000元');
- $objPHPExcel->getActiveSheet()->getStyle('A2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平居中
- $objPHPExcel->getActiveSheet()->getStyle('A3')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平居中
- $objPHPExcel->getActiveSheet()->getStyle('A2')->getFont()->setSize(); //设置字体大小
- $objPHPExcel->getActiveSheet()->getStyle('A3')->getFont()->setSize(); //设置字体大小
- $objPHPExcel->getActiveSheet()->getRowDimension('A2')->setRowHeight();//行高
- $objPHPExcel->getActiveSheet()->getRowDimension('A3')->setRowHeight();//行高
- foreach ($data as $k => $v) {
- $row = $k + ; //行
- $nn = ;
- foreach ($v as $vv) {
- $col = chr( + $nn); //列
- $obj->setCellValue($col . $row, $vv); //列,行,值
- $nn++;
- }
- }
- //设置列头标题
- for ($i = ; $i < ; $i++) {
- $alpha = chr( + $i);
- //$objPHPExcel->getActiveSheet()->getColumnDimension($alpha)->setAutoSize(true); //单元宽度自适应
- $objPHPExcel->getActiveSheet()->getColumnDimension($alpha)->setWidth();
- $objPHPExcel->getActiveSheet()->getStyle($alpha . '')->getFont()->setSize(); //设置大小
- $objPHPExcel->getActiveSheet()->getStyle($alpha . '')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平居中
- $objPHPExcel->getActiveSheet()->getStyle($alpha . '')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //垂直居中
- }
- $objPHPExcel->getActiveSheet()->setTitle($sheetname); //题目
- $objPHPExcel->setActiveSheetIndex(); //设置当前的sheet
- header('Content-Type: application/vnd.ms-excel');
- header('Content-Disposition: attachment;filename="' . $savefile . '.xls"'); //文件名称
- header('Cache-Control: max-age=0');
- $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); //Excel5 Excel2007
- $objWriter->save('php://output');
- }
4 然后调用这个函数
- $list=array(=>array('','5.3数学练习册','*','','','','','','','*'),
- =>array('','','founder','*','','','','*','*','2019/1/12 21:12:32'),
- =>array('','','nick','*','','','','','','*')
- );
- $title = array('序号', '练习册名称', '终端用户', '累计数量(二维码)', '个数区间开始', '个数区间结束', '分成', '剩余处理费用', '最终支付', '购买时间'); //设置要导出excel的表头
- exportExcel($list, , $title);
5 然后结果的样子
thinkphp3.2.3集成phpexcel1.8导出设置单元格合并的更多相关文章
- C#实现向excel中插入行列,以及设置单元格合并居中效果
插入空行: Microsoft.Office.Interop.Excel.Workbook xlsWorkbook; Microsoft.Office.Interop.Excel.Worksheet ...
- C#导出Excel按照指定格式设置单元格属性值
最近项目中一直在写XML.Table.Excel之间的转化.之前一直都是不考虑格式的导出,今天给出一个格式,让按照格式导出,还真把我这新手为难了一翻,网上给出的资料基本一样.为了一个单元格文字变色纠结 ...
- 导出EXCEL设置单元格格式
怎么设置导出的EXCEL文件的列格式 如何设置导出的EXCEL文件的列格式在office的EXCEL中我们可以在一个EXCEL文件中,选中一列再点击鼠标右键,选择设置单元格格式,可以将这一列设为文本格 ...
- Excel导出时设置单元格的格式为文本
问题: 用excel导出数据时,如何设置单元格格式的数字分类为"文本",默认是"常规"? 比如:导出编码0235A089,在Excel查看默认显示的是没有前面的 ...
- PHPExcel解决内存占用过大问题-设置单元格对象缓存
PHPExcel解决内存占用过大问题-设置单元格对象缓存 PHPExcel是一个很强大的处理Excel的PHP开源类,但是很大的一个问题就是它占用内存太大,从1.7.3开始,它支持设置cell的缓存方 ...
- 20191012——POI设置单元格自动行高(思路)
在经过Jxls或者POI导出数据至excel中后,发现有的单元格内容太多,既没有自动换行,也没有自动增大行高.那如何通过Java代码来实现呢?请看下面步骤: (一)首先,将excel设置为最合适的行高 ...
- C#:org.in2bits.MyXls 文本格式日期 转换,以及设置单元格格式,保留两位小数点
org.in2bits.MyXls Excel导入日期格式的处理 表格内容为 2014-7-22 ,导入后显示为 41842 等于一个数值,根本不是日期,后来百度了一下,发现要做如下处理: stri ...
- firefox ie chrome 设置单元格宽度 td width 有bug,不能正常工作。以下方式可以解决
1. firefox ie chrome 设置单元格宽度 td width 有bug,不能正常工作. 如果是上面一行 和下面一行是分别属于两个table,但是他们的列需要对齐,也就是说分开画的,然后设 ...
- UITableView设置单元格选中后只显示一个打勾的三种简单方法(仅供参考)
1.第一种方法:先定位到最后一行,若选中最后一行直接退出,否则用递归改变上次选中的状态,重新设置本次选中的状态. - (UITableViewCell*)tableView:(UITableView* ...
随机推荐
- python3使用模块
Python内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用. 我们以内建的sys模块为例,编写一个hello的模块: #!/usr/bin/env python3 # -*- codi ...
- 在表单中使用ajax,成功后跳转指定页面 出现Provisional headers are shown 解决办法
问题回顾: 在表单里面,有个button按钮,在点击这个button的时候,我发送了ajax请求,然后请求成功的话,就使用window.location.href = xxx,跳转到其他页面 但是,一 ...
- Linux内存管理(最透彻的一篇)【转】
转自:https://www.cnblogs.com/ralap7/p/9184773.html 摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物 ...
- dstat 系统监控命令
tat 命令很强大,可以实时监控CPU,磁盘,网络,IO,内存等. yum install -y dstat 例: dstat #查看全部监控信息 dstat -c #查看cpu 使用情况
- requests---requests简介
在做接口测试的时候都会用到很多工具,如postman.jmeter.soupUI等工具,除了这些工具外,我们也可以用python的第3方库requests来做接口测试. request简介 reque ...
- 关于如何自定义修改pytest-html报告深度学习总结
第一.pytest-html执行命令总结: pytest test_case.py --html=report.html --self-contained-html 直接html独立显示pytest ...
- 使用jmeter进行压力测试及如何添加负载机
Jmeter是一款简单灵活且强大的性能测试工具,同时也可以做接口测试. 由于初识jmeter,今天来记录一下如何对一个web进行一个简单的压力测试. 1.首先在测试计划里面添加一个线程组,然后再其下面 ...
- 跟着ALEX 学python day4集合 装饰器 生成器 迭代器 json序列化
文档内容学习于 http://www.cnblogs.com/xiaozhiqi/ 装饰器 : 定义: 装饰器 本质是函数,功能是装饰其他函数,就是为其他函数添加附加功能. 原则: 1.不能修改被装 ...
- loadrunner12 Runtime Settings位置
- LG1410 子序列 二分图判定
问题描述 LG1410 题解 如果\(i<j,a_j \le a_i\),那么他它们不能在一个上升序列中. 于是在\(i,j\)之间建边,看建出来的图是不是二分图即可. \(\mathrm{Co ...