• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP导出EXCEL快速开发指南

php 搞代码 3年前 (2022-01-22) 49次浏览 已收录 0个评论

php excel有专有的开发文档,详细操作请参考php excel开发文档,本文章只是对其在使用上作了优化整合,便于在新项目中快速开发。有兴趣的还可以找php excel开发文档看看

phpexcel生成文件同样有两种方式,一种方式为直接输出,一种方式为生成静态文件。

直接输出:
主文件为(class目录的同目录文件):

<?php    include("./class/class.php"); // 包含class的基本头文件    include("./class/phpexcel/PHPExcel.php"); // 生成excel的基本类定义(注意文件名的大小写)    // 如果直接输出excel文件,则要包含此文件    include("./class/phpexcel/PHPExcel/IOFactory.php");    // 创建phpexcel对象,此对象包含输出的内容及格式    $m_objPHPExcel = new PHPExcel();    // 模板文件,为了实现格式与内容分离,有关输出文件具体内容实现在模板文件中    // 模板文件将对象$m_objPHPExcel进行操作    include("./include/excel.php");    // 输出文件的类型,excel或pdf    $m_exportType = "excel";    $m_strOutputExcelFileName = date('Y-m-j_H_i_s').".xls"; // 输出EXCEL文件名    $m_strOutputPdfFileName = date('Y-m-j_H_i_s').".pdf"; // 输出PDF文件名    // PHPExcel_IOFactory, 输出excel    //require_once dirname(__FILE__).'/Classes/PHPExcel/IOFactory.php';    // 如果需要输出EXCEL格式    if($m_exportType=="excel"){    $objWriter = PHPExcel_IOFactory::createWriter($m_objPHPExcel, 'Excel5');    // 从浏览器直接输出$m_strOutputExcelFileName    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/v<em style="color:transparent">本@文来源[email protected]搞@^&代*@码网(</em><q>搞代gaodaima码</q>nd.ms-excel;");    header("Content-Type:application/octet-stream");    header("Content-Type:application/download");    header("Content-Disposition:attachment;filename=".$m_strOutputExcelFileName);    header("Content-Transfer-Encoding:binary");    $objWriter->save("php://output");    }    // 如果需要输出PDF格式    if($m_exportType=="pdf"){    $objWriter = PHPExcel_IOFactory::createWriter($m_objPHPExcel, 'PDF');    $objWriter->setSheetIndex(0);    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/pdf");    header("Content-Type:application/octet-stream");    header("Content-Type:application/download");    header("Content-Disposition:attachment;filename=".$m_strOutputPdfFileName);    header("Content-Transfer-Encoding:binary");    $objWriter->save("php://output");    }?>

模板文件内容(附加常用操作)

<?phpglobal $m_objPHPExcel; // 由外部文件定义// 设置基本属性$m_objPHPExcel->getProperties()->setCreator("Sun Star Data Center")->setLastModifiedBy("Sun Star Data Center")->setTitle("Microsoft Office Excel Document")->setSubject("Test Data Report -- From Sunstar Data Center")->setDescription("LD Test Data Report, Generate by Sunstar Data Center")->setKeywords("sunstar ld report")->setCategory("Test result file");// 创建多个工作薄$sheet1 = $m_objPHPExcel->createSheet();$sheet2 = $m_objPHPExcel->createSheet();// 通过操作索引即可操作对应的工作薄// 只需设置要操作的工作簿索引为当前活动工作簿,如// $m_objPHPExcel->setActiveSheetIndex(0);// 设置第一个工作簿为活动工作簿$m_objPHPExcel->setActiveSheetIndex(0);// 设置活动工作簿名称// 如果是中文一定要使用iconv函数转换编码$m_objPHPExcel->getActiveSheet()->setTitle(iconv('gbk', 'utf-8', '测试工作簿'));// 设置默认字体和大小$m_objPHPExcel->getDefaultStyle()->getFont()->setName(iconv('gbk', 'utf-8', '宋体'));$m_objPHPExcel->getDefaultStyle()->getFont()->setSize(10);// 设置一列的宽度$m_objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(15);// 设置一行的高度$m_objPHPExcel->getActiveSheet()->getRowDimension('6')->setRowHeight(30);// 合并单元格$m_objPHPExcel->getActiveSheet()->mergeCells('A1:P1');// 定义一个样式,加粗,居中$styleArray1 = array('font' => array('bold' => true,'color'=>array('argb' => '00000000',),),'alignment' => array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,),);// 将样式应用于A1单元格$m_objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($styleArray1);// 设置单元格样式(黑色字体)$m_objPHPExcel->getActiveSheet()->getStyle('H5')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_BLACK); // 黑色// 设置单元格格式(背景)$m_objPHPExcel->getActiveSheet()->getStyle('H5')->getFill()->getStartColor()->setARGB('00ff99cc'); // 将背景设置为浅粉色// 设置单元格格式(数字格式)$m_objPHPExcel->getActiveSheet()->getStyle('F1')->getNumberFormat()->setFormatCode('0.000');// 给特定单元格中写入内容$m_objPHPExcel->getActiveSheet()->setCellValue('A1', 'Hello Baby');// 设置单元格样式(居中)$m_objPHPExcel->getActiveSheet()->getStyle('H5')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);// 给单元格中放入图片, 将数据图片放在J1单元格内$objDrawing = new PHPExcel_Worksheet_Drawing();$objDrawing->setName('Logo');$objDrawing->setDescription('Logo');$objDrawing->setPath("../logo.jpg"); // 图片路径,只能是相对路径$objDrawing->setWidth(400); // 图片宽度$objDrawing->setHeight(123); // 图片高度$objDrawing->setCoordinates('J1');$objDrawing->setWorksheet($m_objPHPExcel->getActiveSheet());// 设置A5单元格内容并增加超链接$m_objPHPExcel->getActiveSheet()->setCellValue('A5', iconv('gbk', 'utf-8', '超链接keiyi.com'));$m_objPHPExcel->getActiveSheet()->getCell('A5')->getHyperlink()->setUrl('http://www.keiyi.com/');?>

在服务器端生成静态文件

相比直接生成,这两种方法的主要区别是生成格式的不同,模板文件完全相同,下边是一个在上例基础上更改后的样子,注意与上例的区别。

<?php// 包含class的基本头文件include("./class/class.php");// 生成excel的基本类定义(注意文件名的大小写)include("./class/phpexcel/PHPExcel.php");// 包含写Excel5格式的文件,如果需要生成excel2007的文件,包含对应的Writer即可include("./class/phpexcel/PHPExcel/Writer/Excel5.php");// 包含写PDF格式文件include("./class/phpexcel/PHPExcel/Writer/PDF.php");// 创建phpexcel对象,此对象包含输出的内容及格式$m_objPHPExcel = new PHPExcel();// 模板文件,为了实现格式与内容分离,有关输出文件具体内容实现在模板文件中// 模板文件将对象$m_objPHPExcel进行操作include("./include/excel.php");// 输出文件的类型,excel或pdf$m_exportType = "pdf";$m_strOutputExcelFileName = date('Y-m-j_H_i_s').".xls"; // 输出EXCEL文件名$m_strOutputPdfFileName = date('Y-m-j_H_i_s').".pdf"; // 输出PDF文件名// 输出文件保存路径,此路径必须可写$m_strOutputPath = "./output/";// 如果需要输出EXCEL格式if($m_exportType=="excel"){$objWriter = new PHPExcel_Writer_Excel5($m_objPHPExcel);$objWriter->save($m_strOutputPath.$m_strOutputExcelFileName);}// 如果需要输出PDF格式if($m_exportType=="pdf"){$objWriter = new PHPExcel_Writer_PDF($m_objPHPExcel);$objWriter->save($m_strOutputPath.$m_strOutputPdfFileName);}?>

以上就是 PHP导出EXCEL快速开发指南 的所有内容,有兴趣的还可以到搞代码搜索更多哦~

相关推荐:

PHPExcel实现冻结锁定表头的方法介绍

phpexcel如何导入excel处理大数据的代码实例

利用PHPExcel进行数据的批量上传

PHPExcel的使用过程介绍

以上就是PHP导出EXCEL快速开发指南的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP导出EXCEL快速开发指南

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址