1 到这里下载classes里面的文件

https://github.com/PHPOffice/PHPExcel

2 然后放到 thinkphp的vendor 新建一个文件夹 Phpexcel  然后把文件放进去

3 在封装一个函数

  1. function exportExcel($data, $savefile = null, $title = null, $sheetname = 'sheet1') {
  2. vendor('Phpexcel.PHPExcel'); //从PHPMailer目录导class.phpmailer.php类文件
  3. //import("Vendor.excel.phpexcel");
  4. //若没有指定文件名则为当前时间戳
  5. if (is_null($savefile)) {
  6. $savefile = time();
  7. }
  8. //若指字了excel表头,则把表单追加到正文内容前面去
  9. if (is_array($title)) {
  10. array_unshift($data, $title);
  11. }
  12.  
  13. $objPHPExcel = new \PHPExcel();
  14. //Excel内容
  15. $head_num = count($data);
  16.  
  17. $obj = $objPHPExcel->setActiveSheetIndex();
  18. $obj->mergeCells('A1:K1'); //第一行
  19. $obj->setCellValue('A1','');
  20. $obj->mergeCells('A2:K2'); //第二行
  21. $obj->setCellValue('A2','好助教支付清单');
  22. $obj->mergeCells('A3:K3'); //第三行
  23. $obj->setCellValue('A3','用户:北交大出版社 时间:2019-01-12至2019-12-12练习册:200种 支付金额:20000元');
  24.  
  25. $objPHPExcel->getActiveSheet()->getStyle('A2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平居中
  26. $objPHPExcel->getActiveSheet()->getStyle('A3')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平居中
  27. $objPHPExcel->getActiveSheet()->getStyle('A2')->getFont()->setSize(); //设置字体大小
  28. $objPHPExcel->getActiveSheet()->getStyle('A3')->getFont()->setSize(); //设置字体大小
  29.  
  30. $objPHPExcel->getActiveSheet()->getRowDimension('A2')->setRowHeight();//行高
  31. $objPHPExcel->getActiveSheet()->getRowDimension('A3')->setRowHeight();//行高
  32.  
  33. foreach ($data as $k => $v) {
  34.  
  35. $row = $k + ; //行
  36. $nn = ;
  37.  
  38. foreach ($v as $vv) {
  39. $col = chr( + $nn); //列
  40. $obj->setCellValue($col . $row, $vv); //列,行,值
  41. $nn++;
  42. }
  43. }
  44. //设置列头标题
  45. for ($i = ; $i < ; $i++) {
  46. $alpha = chr( + $i);
  47. //$objPHPExcel->getActiveSheet()->getColumnDimension($alpha)->setAutoSize(true); //单元宽度自适应
  48. $objPHPExcel->getActiveSheet()->getColumnDimension($alpha)->setWidth();
  49. $objPHPExcel->getActiveSheet()->getStyle($alpha . '')->getFont()->setSize(); //设置大小
  50. $objPHPExcel->getActiveSheet()->getStyle($alpha . '')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平居中
  51. $objPHPExcel->getActiveSheet()->getStyle($alpha . '')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //垂直居中
  52. }
  53.  
  54. $objPHPExcel->getActiveSheet()->setTitle($sheetname); //题目
  55. $objPHPExcel->setActiveSheetIndex(); //设置当前的sheet
  56. header('Content-Type: application/vnd.ms-excel');
  57. header('Content-Disposition: attachment;filename="' . $savefile . '.xls"'); //文件名称
  58. header('Cache-Control: max-age=0');
  59. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); //Excel5 Excel2007
  60. $objWriter->save('php://output');
  61. }

4 然后调用这个函数

  1. $list=array(=>array('','5.3数学练习册','*','','','','','','','*'),
  2. =>array('','','founder','*','','','','*','*','2019/1/12 21:12:32'),
  3. =>array('','','nick','*','','','','','','*')
  4. );
  5. $title = array('序号', '练习册名称', '终端用户', '累计数量(二维码)', '个数区间开始', '个数区间结束', '分成', '剩余处理费用', '最终支付', '购买时间'); //设置要导出excel的表头
  6. exportExcel($list, , $title);

5 然后结果的样子

thinkphp3.2.3集成phpexcel1.8导出设置单元格合并的更多相关文章

  1. C#实现向excel中插入行列,以及设置单元格合并居中效果

    插入空行: Microsoft.Office.Interop.Excel.Workbook xlsWorkbook; Microsoft.Office.Interop.Excel.Worksheet ...

  2. C#导出Excel按照指定格式设置单元格属性值

    最近项目中一直在写XML.Table.Excel之间的转化.之前一直都是不考虑格式的导出,今天给出一个格式,让按照格式导出,还真把我这新手为难了一翻,网上给出的资料基本一样.为了一个单元格文字变色纠结 ...

  3. 导出EXCEL设置单元格格式

    怎么设置导出的EXCEL文件的列格式 如何设置导出的EXCEL文件的列格式在office的EXCEL中我们可以在一个EXCEL文件中,选中一列再点击鼠标右键,选择设置单元格格式,可以将这一列设为文本格 ...

  4. Excel导出时设置单元格的格式为文本

    问题: 用excel导出数据时,如何设置单元格格式的数字分类为"文本",默认是"常规"? 比如:导出编码0235A089,在Excel查看默认显示的是没有前面的 ...

  5. PHPExcel解决内存占用过大问题-设置单元格对象缓存

    PHPExcel解决内存占用过大问题-设置单元格对象缓存 PHPExcel是一个很强大的处理Excel的PHP开源类,但是很大的一个问题就是它占用内存太大,从1.7.3开始,它支持设置cell的缓存方 ...

  6. 20191012——POI设置单元格自动行高(思路)

    在经过Jxls或者POI导出数据至excel中后,发现有的单元格内容太多,既没有自动换行,也没有自动增大行高.那如何通过Java代码来实现呢?请看下面步骤: (一)首先,将excel设置为最合适的行高 ...

  7. C#:org.in2bits.MyXls 文本格式日期 转换,以及设置单元格格式,保留两位小数点

    org.in2bits.MyXls  Excel导入日期格式的处理 表格内容为 2014-7-22 ,导入后显示为 41842 等于一个数值,根本不是日期,后来百度了一下,发现要做如下处理: stri ...

  8. firefox ie chrome 设置单元格宽度 td width 有bug,不能正常工作。以下方式可以解决

    1. firefox ie chrome 设置单元格宽度 td width 有bug,不能正常工作. 如果是上面一行 和下面一行是分别属于两个table,但是他们的列需要对齐,也就是说分开画的,然后设 ...

  9. UITableView设置单元格选中后只显示一个打勾的三种简单方法(仅供参考)

    1.第一种方法:先定位到最后一行,若选中最后一行直接退出,否则用递归改变上次选中的状态,重新设置本次选中的状态. - (UITableViewCell*)tableView:(UITableView* ...

随机推荐

  1. python3使用模块

    Python内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用. 我们以内建的sys模块为例,编写一个hello的模块: #!/usr/bin/env python3 # -*- codi ...

  2. 在表单中使用ajax,成功后跳转指定页面 出现Provisional headers are shown 解决办法

    问题回顾: 在表单里面,有个button按钮,在点击这个button的时候,我发送了ajax请求,然后请求成功的话,就使用window.location.href = xxx,跳转到其他页面 但是,一 ...

  3. Linux内存管理(最透彻的一篇)【转】

    转自:https://www.cnblogs.com/ralap7/p/9184773.html 摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物 ...

  4. dstat 系统监控命令

    tat 命令很强大,可以实时监控CPU,磁盘,网络,IO,内存等. yum install -y dstat 例: dstat  #查看全部监控信息 dstat -c  #查看cpu 使用情况

  5. requests---requests简介

    在做接口测试的时候都会用到很多工具,如postman.jmeter.soupUI等工具,除了这些工具外,我们也可以用python的第3方库requests来做接口测试. request简介 reque ...

  6. 关于如何自定义修改pytest-html报告深度学习总结

    第一.pytest-html执行命令总结: pytest test_case.py --html=report.html --self-contained-html 直接html独立显示pytest ...

  7. 使用jmeter进行压力测试及如何添加负载机

    Jmeter是一款简单灵活且强大的性能测试工具,同时也可以做接口测试. 由于初识jmeter,今天来记录一下如何对一个web进行一个简单的压力测试. 1.首先在测试计划里面添加一个线程组,然后再其下面 ...

  8. 跟着ALEX 学python day4集合 装饰器 生成器 迭代器 json序列化

    文档内容学习于 http://www.cnblogs.com/xiaozhiqi/  装饰器 : 定义: 装饰器 本质是函数,功能是装饰其他函数,就是为其他函数添加附加功能. 原则: 1.不能修改被装 ...

  9. loadrunner12 Runtime Settings位置

  10. LG1410 子序列 二分图判定

    问题描述 LG1410 题解 如果\(i<j,a_j \le a_i\),那么他它们不能在一个上升序列中. 于是在\(i,j\)之间建边,看建出来的图是不是二分图即可. \(\mathrm{Co ...