设置单元格背景颜色及样式
$objPHPExcel->getActiveSheet()->getStyle( 'A1:E1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle( 'A1:E1')->getFill()->getStartColor()->setRGB('EFF3F6');
设置文本格式
大于10位的数字设置为文本格式,防止变为科学计数
$objPHPExcel->setActiveSheetIndex(0)->setCellValueExplicit('A1', '123456789123345', PHPExcel_Cell_DataType::TYPE_STRING);
设置字体
//设置默认字体
$objPHPExcel->getDefaultStyle()->getFont()->setName('宋体');
//设置单元格字体
$phpExcel->getActiveSheet()->getStyle("A1")->getFont()->setName('宋体');
//设置字体加粗
$objPHPExcel->getActiveSheet()->getStyle( 'A1')->getFont()->setBold(true);
//设置字体大小
$phpExcel->getActiveSheet()->getStyle("A1")->getFont()->setSize(10);
//设置字体颜色
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->getColor()->setRGB('FF0000');
//连贯设置
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setName('黑体')->setBold(true)->setSize(10)->getColor()->setRGB('FF0000');
设置行高
//设置默认行高
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(20);
//设置第二行的行高为127.75
$objPHPExcel->getActiveSheet()->getRowDimension(2)->setRowHeight(127.75);
//设置自动换行
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setWrapText(TRUE);
//设置自动行高(设置第一行的行高为自动行高)
$objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(-1);
设置单元格列宽
//设置A列的列宽为10
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
设置单元格对齐方式
//设置A列水平居左
$objPHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
//设置A1单元格水平居中
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//设置A1单元格垂直居中
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
//水平居右
$objPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$objPHPExcel->getActiveSheet()->getStyle( 'D11')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); //水平方向上对齐
$objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY); //水平方向上两端对齐
$objPHPExcel->getActiveSheet()->getStyle( 'A18')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //垂直方向上中间居中
设置A1栏
//只设置A1栏位的标题
$objPHPExcel->getActiveSheet()->getStyle( 'A1')->getFont()->setSize(18);
$objPHPExcel->getActiveSheet()->getStyle( 'A1')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(50);
自动换行
//自动换行,输出的内容中包含\n即可换行
$objPHPExcel->getDefaultStyle()->getAlignment()->setWrapText(true);
设置单元格边框
//设置单元格边框
$styleArray = array(
'borders' => array(
'allborders' => array(
//'style' => PHPExcel_Style_Border::BORDER_THICK,//边框是粗的
'style' => \PHPExcel_Style_Border::BORDER_THIN,//细边框
//'color' => array('rgb' => 'EFF3F6'),
),
),
);
$objPHPExcel->getActiveSheet()->getStyle('A2:B2')->applyFromArray($styleArray);
设置某一列为文本格式
//设置E列为文本格式
$objPHPExcel->getActiveSheet()->getStyle('E')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
获取单元格背景颜色
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getStartColor()->getRGB();
设置单元格部分文字加粗
使用富文本格式将单元格中的部分文本加粗
$objRichText = new \PHPExcel_RichText();
$objBold = $objRichText->createTextRun("这部分文字加粗\n");
$objBold->getFont()->setName('仿宋_GB2312')->setBold(true)->setSize(14);
$objNormal = $objRichText->createTextRun("这部分文字没有加粗");
$objNormal->getFont()->setName('仿宋_GB2312')->setSize(14);
$objPHPExcel->getActiveSheet()->getCell('A1')->setValue($objRichText);
设置密码保护
只能读,不能写,只对xlsx格式有效:
$objActSheet = $objPHPExcel->getActiveSheet();
$objActSheet->getProtection()->setSheet(true);
$objActSheet->getProtection()->setSort(true);
$objActSheet->getProtection()->setInsertRows(true);
$objActSheet->getProtection()->setFormatCells(true);
$objActSheet->getProtection()->setPassword('123456');
读取Excel文件出现内存不足
// 如果是因为特殊字符引起的,可以在load方法之前加上setReadDataOnly(意思是忽略任何格式的信息)方法,就可以避免
$objReader->setReadDataOnly(true);//只需要添加这个方法
$objPHPExcel = $objReader->load($uploadFilePath);
setReadDataOnly()方法,配置阅读器不关注表格数据的数据类型,都以string格式返回