导出--thinkphp3.2.3导出Excel
2021/8/17 12:36:07
本文主要是介绍导出--thinkphp3.2.3导出Excel,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.去PHPExcel官网下载,然后将解压后的classes里面的内容全部放到Thinkphp框架里的Library/Org/Util下面,并将PHPExcel.php修改为PHPExcel.class.php;
2.然后在你需要导出的地方添加如下代码:
public function exportExcel() { import('Org.Util.PHPExcel'); import('org.Util.PHPExcel.Reader.Excel2007'); $objPHPExcel = new \PHPExcel(); //这里要注意‘\’ 要有这个。因为版本是3.1.2了。 $objDrawing = new \PHPExcel_Worksheet_Drawing(); $objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel); //设置保存版本格式 // $objActSheet = $objPHPExcel->setActiveSheetIndex(0); //设置表头 // $objPHPExcel->getActiveSheet()->mergeCells('A1:H1'); $objActSheet = $objPHPExcel->getActiveSheet(0); // $objActSheet->setTitle('场所信息');//设置excel的标题 $objActSheet->setCellValue('A1','订单编号'); $objActSheet->setCellValue('B1','仓库'); $objActSheet->setCellValue('C1','产品'); $objActSheet->setCellValue('D1','单价'); $objActSheet->setCellValue('E1','采购数量'); $objActSheet->setCellValue('F1','总价'); //接下来就是写数据到表格里面去 $managers=M('purchases'); $list=$managers->field('id,shop,product,pricebuy,number')->order('id desc')->select(); foreach ($list as $key => $value) { // $i=$key+1;//表格是从1开始的 $i=$key+2;//表格是从2开始的 $objPHPExcel->getActiveSheet()->setCellValue('A'.$i, $value['id']);//这里是设置A1单元格的内容 $objPHPExcel->getActiveSheet()->setCellValue('B'.$i, $value['shop']);////这里是设置B1单元格的内容 $objPHPExcel->getActiveSheet()->setCellValue('C'.$i, $value['product']); $objPHPExcel->getActiveSheet()->setCellValue('D'.$i, $value['pricebuy']); $objPHPExcel->getActiveSheet()->setCellValue('E'.$i, $value['number']); $objPHPExcel->getActiveSheet()->setCellValue('F'.$i, $value['pricebuy']*$value['number']); //以此类推,可以设置C D E F G看你需要了。 } //接下来当然是下载这个表格了,在浏览器输出就好了 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=test.xls'); header("Content-Transfer-Encoding:binary"); $objWriter->save('test.xls'); $objWriter->save('php://output'); } Html代码如下
3.上面只是完成了基本的流程,我们还可以设置很多东西
-
//设置某个单元格的值
$objPHPExcel->getActiveSheet()->setCellValue('A18', '合并');
//合并单元格
$objPHPExcel->getActiveSheet()->mergeCells('B1:E2');
//设置宽width
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
//设置font
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setName('Candara');
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setSize(20);
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setBold(true); //加粗
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setUnderline(\PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->getColor()->setARGB(\PHPExcel_Style_Color::COLOR_WHITE);
$objPHPExcel->getActiveSheet()->getStyle('E1')->getFont()->getColor()->setARGB(\PHPExcel_Style_Color::COLOR_WHITE);
$objPHPExcel->getActiveSheet()->getStyle('D13')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('E13')->getFont()->setBold(true);
这篇关于导出--thinkphp3.2.3导出Excel的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享
- 2024-11-01开源 PHP 商城项目 CRMEB 安装和使用教程
- 2024-11-01用php和mysql写无限分类,有哪几种方法-icode9专业技术文章分享
- 2024-10-31php数据分表导出时部分数据无法导出什么原因-icode9专业技术文章分享
- 2024-10-30有经验的 PHP 开发者学习一门新的编程语言,有哪些推荐的有前景的语言-icode9专业技术文章分享
- 2024-10-21php 检测图片是否篡改过-icode9专业技术文章分享
- 2024-10-20fruitcake/php-cors 该怎么使用-icode9专业技术文章分享
- 2024-10-18PHP7.1可以使用哪个版本的swoole-icode9专业技术文章分享