PHPExcel 导出用到的基本方法

$objPHPExcel->getDefaultStyle()->getFont()->setName('微软雅黑');  // 设置字体
$objPHPExcel->getDefaultStyle()->getFont()->setSize(11);   // 设置字号

$monthDate = $sheet->setCellValueExplicitByColumnAndRow($colIndex,2, '');  // 填充内容

$monthDate->getStyleByColumnAndRow($colIndex, $rowIndex)->getAlignment()->setWrapText(true)->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER)->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);

$monthDate->getColumnDimensionByColumn($col)->setWidth(5);

setWrapText(true): 单元格内换行

setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER): 设置水平对齐

setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER): 设置垂直对齐

设置单元格的背景颜色:
$sheet->getStyleByColumnAndRow($colIndex,2, $colIndex,2)->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
$sheet->getStyleByColumnAndRow($colIndex,2, $colIndex,2)->getFill()->getStartColor()->setRGB('BEBEBE');
// setARGB 只有 RED、GREEN两种常见的颜色...

使用数组方式设置样式:
$styleArray = array(
    'borders' => array(
        'allborders' => array(
            'style' => \PHPExcel_Style_Border::BORDER_THIN
        )
    )
);

$sheet->getStyleByColumnAndRow(0, 1, $colIndex, $rowIndex-1)->applyFromArray($styleArray);

合并单元格并填充内容:
$sheet->mergeCellsByColumnAndRow(0,$rowIndex+1,$colIndex,$rowIndex+1)->setCellValueByColumnAndRow(0, $rowIndex+1, 'content');

给所有的单元格设置边框:
$objPHPExcel->getActiveSheet()->getStyle('A1:' .
$objPHPExcel->getActiveSheet()->getHighestColumn() .
($objPHPExcel->getActiveSheet()->getHighestRow()-1))->applyFromArray($styleArray);

给字体设置下划线,超链接形式,加上蓝色即可:
$sheet->getStyleByColumnAndRow(3, $rowIndex)->getFont()->setUnderline()->setUnderline(true);

或:
$styleArray = array(
  'font' => array(
    'underline' => PHPExcel_Style_Font::UNDERLINE_SINGLE
  )
);

$objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($styleArray);

给所有单元格设置自适应高度:
foreach($objPHPExcel->getActiveSheet()->getRowDimensions() as $rd) {
    $rd->setRowHeight(-1);  // 给所有单元格设置自适应高度, 高度随着内容变化
}

https://cloud.tencent.com/developer/article/1398704?from=15425 

//设置字体
$objPHPExcel->getDefaultStyle()->getFont()->setName('宋体');
$objPHPExcel->getDefaultStyle()->getFont()->setSize(11);   // 设置字号

//设置行高
$objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(30);

/*单元格宽度*/
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);

/*设置表格对其方式,setVertical-垂直*/
$objPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

//左右居中    $objActSheet = $objPHPExcel->setActiveSheetIndex(0); 
$objActSheet->getStyle('A2')->getAlignment()->setHorizontal('center');

//居中和字体样式,默认和单个
$format = array(
    'font' => array('size'=>13,'bold' => true),
    'alignment' => array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER)
);
$objPHPExcel->getDefaultStyle()->applyFromArray($format);
$objPHPExcel->getActiveSheet(0)->getStyle("C".$i)->applyFromArray($format);

//单个对齐
$objPHPExcel->getActiveSheet()->getStyle('C3')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);

//是否加粗
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);

//设置单元格格式,要‘C2’单元格为设置才行,否则失败
$objPHPExcel->getActiveSheet()->getCell('C2')->setValueExplicit('1234567890123456123', PHPExcel_Cell_DataType::TYPE_NUMERIC);

//单元格换行
$title_order = "TM
请发电子\r\n到**报名";
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$start_row, $title_order);
$objPHPExcel->getActiveSheet()->mergeCells('A'.$start_row.':G'.$start_row);
/*满一行后自动换行,如需要手动,则家\r\n,或者直接回城代替。*/
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setWrapText(true);
$objDrawing = new PHPExcel_Worksheet_Drawing();

/*名字和描述*/
$objDrawing->setName('Logo');
$objDrawing->setDescription('Logo');

/*图片地址,必须是本地*/
$objDrawing->setPath("./template/images/logo.png");

/*图片高度,宽度自动改变*/
$objDrawing->setHeight(50);
$objDrawing->setCoordinates("A1");

/*离左上角的宽度和旋转的角度*/
$objDrawing->setOffsetX(0);
$objDrawing->setRotation(0);

/*是否显示明显,false看起来像背景,true看起来想图片*/
$objDrawing->getShadow()->setVisible(false);
/**/
$objDrawing->getShadow()->setDirection(0);
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet(0));

//合并单元格和分离单元格
$objPHPExcel->getActiveSheet()->mergeCells('A1:E2');
$objPHPExcel->getActiveSheet()->unmergeCells('A1:E2');

//插入数据,多条插入时,建议用for语句插入
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$start_row, "姓名")
foreach($data as $key=>$d){
    //项目基本信息
    $objPHPExcel->setActiveSheetIndex(0)
        ->setCellValue('G'.$start_row, "房型");
    //项目申报情况
    $start_row++;
}

header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length:".$file_size);
// header("Content-Disposition: attachment; filename=".$file_name);
header ( "Content-type:application/vnd.ms-excel" );
header ( "Content-Disposition:filename=订单详情表.xls" );

//设置sheet的值
$objPHPExcel->getActiveSheet()->setTitle('phpexcel demo');

//隐藏F列
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setVisible(false);

//固定第一行,A3代表固定第二行
$objPHPExcel->getActiveSheet()->freezePane('A2');

//设置指定范围单元格表框
$objPHPExcel->getActiveSheet()->getStyle('A1:G20')->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

//单元格样式和颜色填充
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getStartColor()->setARGB('FF808080');

//添加链接
$objPHPExcel->getActiveSheet()->setCellValue('E26', 'www.phpexcel.net');
$objPHPExcel->getActiveSheet()->getCell('E26')->getHyperlink()->setUrl('http://www.baidu.com');
$objPHPExcel->getActiveSheet()->getCell('E26')->getHyperlink()->setTooltip('Navigate to website');
$objPHPExcel->getActiveSheet()->getStyle('E26')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);


//日期,测试可行,但是好像不设置也正常(时间戳返回格式化失败返回###)
$objPHPExcel->getActiveSheet()->setCellValue('K2', '2008-12-31');
$objPHPExcel->getActiveSheet()->getStyle('K2')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH);


原文链接:PHPExcel 导出用到的基本方法_371293716的博客-CSDN博客_phpexcel 漏洞

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值