<?php /** * TP6使用PHPExcel */ use PHPExcel_IOFactory; //Excel模板 $template = './static/excel/Invoice10012ss.xls'; // new PHPExcel类,并传入模板路径 $objPHPExcel = PHPExcel_IOFactory::load($template); //将操作对象赋值给变量,方便操作 $objActSheet = $objPHPExcel->getActiveSheet(); //修改单元格的值 $objActSheet->setCellValue('B1','红花油'); // 将一个单元格的值复制到另一个单元格中 $cellVal = $objActSheet->rangeToArray('A1'); $objActSheet->fromArray($cellVal, null, 'D1'); //复制一快数据 $cellVal = $objActSheet->rangeToArray('A1:B3'); $objActSheet->fromArray($cellVal, null, 'D1'); //复制单元格样式 $cellStyle = $objActSheet->getStyle('A1:B3'); $objActSheet->duplicateStyle($cellStyle,'D1:D3'); //设置单元格 数字格式 $objActSheet->getStyle('D1')->getNumberFormat()->setFormatCode('[$€-2]\ #,##0.00_);[Red]\([$€-2]\ #,##0.00\)'); /*符号说明: [$€-2]\ #,##0.00_);[Red]\([$€-2]\ #,##0.00\) :欧元符号 \$#,##0.00_);\(\$#,##0.00\) :美元符号 _("$"* #,##0.00_);_("$"* \(#,##0.00\);_("$"* "-"??_);_(@_) :人民币符号 */ // 获取单元格数字格式 $objActSheet->getStyle('F1')->getNumberFormat()->getFormatCode() // 设置单元格边框 $styleArray = array( 'borders' => array( 'allborders'=> array(//设置所有边框 'style' => \PHPExcel_Style_Border::BORDER_THIN,//细线 'color' => array('argb' => '000'),//线的颜色 ) ), ); $objActSheet->getStyle( "A15:E23")->applyFromArray($styleArray); $styleArray = array( 'borders' => array( 'bottom'=> array(//只设置底部 'style' => \PHPExcel_Style_Border::BORDER_THICK,//粗线 'color' => array('argb' => '000'), ) ), ); $objActSheet->getStyle( "E2")->applyFromArray($styleArray); //合并居中 $objActSheet->mergeCells('A1:E1'); //加粗 $objActSheet->getStyle('A1')->getFont()->setBold(true); //左对齐 $objActSheet->getstyle('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT); //设置列宽 $objActSheet->getColumnDimension('D')->setWidth(12); //设置行高 $objActSheet->getRowDimension(3)->setRowHeight(100); //方向和纸张尺寸:https://www.cnblogs.com/keketoloveme/p/16723337.html $objActSheet->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE); $objActSheet->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); //页边距:https://www.cnblogs.com/keketoloveme/p/16723337.html $objActSheet->getPageMargins()->setTop(1); $objActSheet->getPageMargins()->setRight(0.75); $objActSheet->getPageMargins()->setLeft(0.75); $objActSheet->getPageMargins()->setBottom(1); //页眉和页脚:https://www.cnblogs.com/keketoloveme/p/16723337.html $objActSheet->getHeaderFooter()->setOddHeader('&C&HPlease treat this document as confidential!'); $objActSheet->getHeaderFooter()->setOddFooter('&L&B' . $objPHPExcel->getProperties()->getTitle() . //打印机分页符:https://www.cnblogs.com/keketoloveme/p/16723337.html $objActSheet->setBreak( 'A10' , PHPExcel_Worksheet::BREAK_ROW ); //显示网格线:https://www.cnblogs.com/keketoloveme/p/16723337.html $objActSheet->setShowGridlines(true); //将行/列设置为在每页的顶部/左侧重复 $objActSheet->getPageSetup()->setRowsToRepeatAtTopByStartAndEnd(1, 5); //设置打印区域:https://www.cnblogs.com/keketoloveme/p/16723337.html $objActSheet->getPageSetup()->setPrintArea('A1:E5,G4:M20');
//超出换行 $objActSheet->getStyle("A1:E$i")->getAlignment()->setWrapText(TRUE);
//导处Excel 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="'.$filename.'.xls"'); header("Content-Transfer-Encoding:binary"); $objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel); $objWriter->save('php://output');
参考:https://www.cnblogs.com/huliangqing/p/15781026.html