使用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备忘录的主要内容,如果未能解决你的问题,请参考以下文章

PHPExcel导出excel处理方式实例

PHPExcel导出excel处理方式实例

PHPExcel导出excel处理方式实例

php怎么导出大量数据的Excel

phpExcel导出excel打不开问题

phpexcel导出阿里云图片