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* ...
随机推荐
- redo log重做日志缓冲
---------------------------------- 2015-02-10---------------------------------- innodb redo log (重做日 ...
- 原生 JavaScript 代替 jQuery【转】
目录 用原生JavaScript代替jQuery Query Selector CSS & Style DOM Manipulation Ajax Events Utilities Promi ...
- emacs cedet
用emacs写c或者c++代码用的插件的配置.功能是能够代码补齐. (require 'package) (package-initialize) (add-to-list'package-archi ...
- Shel脚本-初步入门之《05》
Shel脚本-初步入门-05 常用操作系统默认的 Shell 5.常用操作系统默认的 Shell 通过以下两种方法可以查看 CentOS Linux 系统默认的 Shell 方法1: echo $SH ...
- (九)OpenStack---M版---双节点搭建---Swift(单节点)安装和配置
↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ >>>>>>传送门 本次搭建仅采用Compute单节点做swift组件 1.Controller安装并配置控制节点 ...
- Alpha2项目的测试
这个作业属于哪个课程 课程的链接 这个作业的要求在哪里 作业要求的链接 团队名称 西柚三剑客 这个作业的目标 -测试其他团队的作品,并进行体验总结 姓名 学号 团队名称 段小刚 20173106231 ...
- day20_7.24 面向对象1
一.面向对象概念 面向对象是一种编程思想,是实现代码高内聚低耦合的关键概念,核心是对象,程序就是由多个对象组成,程序员调度这些对象进行工作. 而与之相对的是面向过程的编程. 优点:逻辑清晰 , 复杂问 ...
- Leetcode.142-Linked-list-cycle-ii(环形链表II)
环形链表II 思路 https://www.cnblogs.com/springfor/p/3862125.html https://blog.csdn.net/u010292561/article/ ...
- Machine Learning in Finance – Present and Future Applications
https://emerj.com/ai-sector-overviews/machine-learning-in-finance/ Machine learning has had fruitful ...
- LeetCode 611. Valid Triangle Number有效三角形的个数 (C++)
题目: Given an array consists of non-negative integers, your task is to count the number of triplets c ...