使用PHPExcel导出excel备忘录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用PHPExcel导出excel备忘录相关的知识,希望对你有一定的参考价值。
导入导出excel使用phpexcel类很简单快捷,记录下该类常用的操作,以备不时之需。
<?php require_once ROOT_PATH . ‘includes/phpexcel/Classes/PHPExcel.php‘;//引入phpexcel类库 $objPHPExcel = new PHPExcel();//实例化phpexcel // Set properties 设置导出的文档信息 $objPHPExcel->getProperties()->setCreator("dabai") //设置创建人 ->setLastModifiedBy("dabai") //最后修改人 ->setTitle("Office 2007 XLSX Document") //标题 ->setSubject("Office 2007 XLSX Document") //题目 ->setDescription("Document for Office 2007 XLSX, generated using PHP classes.") //描述 ->setKeywords("office 2007 openxml php") //关键字 ->setCategory("tongji"); //种类 //设置当前的sheet,即第几页excel表格 $objPHPExcel->setActiveSheetIndex(0); $sheet = $objPHPExcel->getActiveSheet();// 可讲当页赋值给 $sheet 变量 方便后面调用 $sheet->setTitle(‘Simple‘); //设置该分页的分页名字 //设置excel默认的居中方式 $objPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);//水平居中 $objPHPExcel->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //垂直方向上中间居中 //设置默认的单元格宽度和行高 $sheet->getDefaultRowDimension()->setRowHeight(30); $sheet->getDefaultColumnDimension()->setWidth(10); //设置相应单元格的宽度 $sheet->getColumnDimension(‘A‘)->setWidth(10); $sheet->getColumnDimension(‘B‘)->setAutoSize(true); //设置相应单元格的高度 $sheet->getRowDimension(‘A‘)->setRowHeight(10); //设置某一列对齐方式 $sheet->getStyle(‘E‘)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);//左对齐; //填入数据 $sheet->setCellValue(‘A1‘, ‘序号‘)->setCellValue(‘B1‘, ‘名称‘);//可连贯操作,也可以一条一条添加
$sheet->setCellValueExplicit(‘G‘ . $start, $val[‘bankcard‘],PHPExcel_Cell_DataType::TYPE_STRING); //科学计数法调整为正常数字显示 //冻结单元格 $sheet->freezePane(‘A2‘);//冻结A2的左列和上列。 //合并分离单元格 $sheet->mergeCells(‘A1:B4‘); //在开始的单元格添加值. /*循环的数据中有合并,有分行时。技巧:循环时记下开始点和结束点。例如: if ($key == 0) { $start = $key + 2; $end = $start + $goods_len - 1; } else { $start = $end + 1; $end = $start + $goods_len - 1; } */ //分离单元格 $sheet->->unmergeCells(‘A18:E22‘); // 设置单元格格式 $sheet->getCell(‘C2‘)->setValueExplicit(‘861391327543258‘, PHPExcel_Cell_DataType::TYPE_NUMERIC); //可以设置单元格的格式 //Add comment 添加注释 $sheet->getComment(‘E11‘)->setAuthor(‘PHPExcel‘); $objCommentRichText = $sheet->getComment(‘E11‘)->getText()->createTextRun(‘PHPExcel:‘); $objCommentRichText->getFont()->setBold(true); $sheet->getComment(‘E11‘)->getText()->createTextRun("\r\n"); $sheet->getComment(‘E11‘)->getText()->createTextRun(‘Total amount on the current invoice, excluding VAT.‘); //设置字体、加粗 $sheet->getStyle(‘A1‘)->getFont()->setName(‘Candara‘); //字体 $sheet->getStyle(‘A‘)->getFont()->setBold(true); //加粗 //设置字体颜色 $sheet->getStyle(‘B1‘)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE); //设置边框 $sheet->getStyle(‘A1‘)->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $sheet->getStyle(‘A1‘)->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $sheet->getStyle(‘A1‘)->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $sheet->getStyle(‘A1‘)->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); //设置边框颜色 $sheet->getStyle(‘A1‘)->getBorders()->getLeft()->getColor()->setARGB(‘FF993300‘); $sheet->getStyle(‘A1‘)->getBorders()->getTop()->getColor()->setARGB(‘FF993300‘); //或者用数组参数 $styleArray = array( ‘borders‘ => array( ‘allborders‘ => array( //‘style‘ => PHPExcel_Style_Border::BORDER_THICK,//边框是粗的 ‘style‘ => PHPExcel_Style_Border::BORDER_THIN,//细边框 //‘color‘ => array(‘argb‘ => ‘FFFF0000‘), ), ) ); $sheet->getStyle(‘A1:N‘ . $n)->applyFromArray($styleArray);//从A1到N$n的边框 //设置填充颜色 $sheet->getStyle(‘A1‘)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $sheet->getStyle(‘A1‘)->getFill()->getStartColor()->setARGB(‘FF808080‘); //添加链接 $sheet->setCellValue(‘A1‘, ‘www.aaa.net‘); $sheet->getCell(‘A1‘)->getHyperlink()->setUrl(‘http://www.aaa.com‘); $sheet->getCell(‘A1‘)->getHyperlink()->setTooltip(‘Navigate to website‘); $sheet->getStyle(‘A1‘)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
//Set document security 设置文档安全
$objPHPExcel->getSecurity()->setLockWindows(true);
$objPHPExcel->getSecurity()->setLockStructure(true);
$objPHPExcel->getSecurity()->setWorkbookPassword("PHPExcel");
//Set sheet security 设置工作表安全
$sheet->getProtection()->setPassword(‘PHPExcel‘);
$sheet->getProtection()->setSheet(true);//
$sheet->getProtection()->setSort(true);
$sheet->getProtection()->setInsertRows(true);
$sheet->getProtection()->setFormatCells(true);
//创建新的工作标签
$objPHPExcel->createSheet();
$objPHPExcel->setActiveSheetIndex(1);
// 输出 header(‘Content-Type: application/vnd.ms-excel‘); header(‘Content-Disposition: attachment;filename="‘ . $filename . ‘.xls"‘); header(‘Cache-Control: max-age=0‘); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5‘); $objWriter->save(‘php://output‘);
以上是关于使用PHPExcel导出excel备忘录的主要内容,如果未能解决你的问题,请参考以下文章