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* ...
随机推荐
- Arthas实践--抽丝剥茧排查线上应用日志打满问题
现象 在应用的 service_stdout.log里一直输出下面的日志,直接把磁盘打满了: 23:07:34.441 [TAIRCLIENT-1-thread-1] DEBUG io.netty.c ...
- vue-cli3.0创建项目之完成登录页面
借鉴博客:https://www.cnblogs.com/KenFine/p/10850386.html 接着上一个创建的新项目vue-mydemo01来: 1.创建一个login.vue组件页面:如 ...
- 99%的程序都没有考虑的网络异常?使用Fundebug.notify()主动上报
近日看到一篇文章99%的程序都没有考虑的网络异常,开篇提到: 绝大多数程序只考虑了接口正常工作的场景,而用户在使用我们的产品时遇到的各类异常,全都丢在看似 ok 的 try catch 中.如果没有做 ...
- 通过jQuery给<li>绑定点击事件
背景:有个需求需要js中实现li标签的事件绑定,li通过在ajax请求中动态添加,按照常理,使用jQuery,可以使用以下方法绑定点击事件: $(function(){ commonAjaxCall ...
- day09 作业
简述定义函数的三种方式 空函数.无参函数.有参函数 简述函数的返回值 函数内部代码经过一系列的逻辑处理返回的结果 函数没有返回值,默认返回None 函数可以通过return返回出返回值 return可 ...
- tornado中的options常用姿势
tornado是facebook开源的非阻塞web容器,类似java的netty,tornado.options是负责解析tornado容器的全局参数的,同时也能够解析命令行传递的参数和从配置文件中解 ...
- 维护带修改区间 K 小值
就是在原来的主席树模板上加上一条将x上的值修改为k 待我们仔细想想之前静态的区间Kth怎么实现的... 我们仍然需要维护前缀和,而只是在以前的代码里面加上单点修改的操作,那么你要每次要修改的前缀和就有 ...
- 水晶报表报错:log4net初始值问题
运行水晶报表的程序一直出错,报错如下: System.TypeInitializationException: “CrystalDecisions.ReportSource.ReportSourceF ...
- vue动画效果出现重叠,并且出现滚动条
背景 使用 vue 结合 animated css 第三方动画样式,简单地给页面组件加上切换时的 fade 淡入/淡出动画效果 当调试效果时发现,展示效果出现了问题,并且出现滚动条 原因 退场动画还没 ...
- Tomcat服务部署与Nginx负载均衡配置
一.中间键产品介绍 目前来说IBM的WebSphere,Oracle的Weblogic占据了市场上java语言Web站点的部分份额,该两种软件都是商业化的软件,由于性能优越,可靠性高等优点应用于大型互 ...