CareyTao

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
<?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

posted on 2023-03-05 23:18  CareyTao  阅读(61)  评论(0编辑  收藏  举报