`
dcj3sjt126com
  • 浏览: 1883983 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PHPExcel导出excel

    博客分类:
  • PHP
阅读更多

 

总结 php导出Excel php导入Excel PhpExcel使用说明 PhpExcel使用手册
1:第一推荐无比风骚的PHPExcel,官方网站: http://www.codeplex.com/PHPExcel
导入导出都成,可以导出office2007格式,同时兼容2003。

 

<?
//设置PHPExcel类库的includepath
set_include_path('.'.PATH_SEPARATOR.'D:\workspace\biznaligy_eh\dev_src\includes\PHPExcel'.PATH_SEPARATOR.get_include_path());

require_once'PHPExcel.php';
require_once'PHPExcel/Writer/Excel5.php';//用于其他低版本xls
require_once'PHPExcel/Writer/Excel2007.php';//用于excel-2007格式

//创建一个处理对象实例
$objExcel=newPHPExcel();

//创建文件格式写入对象实例,uncomment
$objWriter=newPHPExcel_Writer_Excel5($objExcel);//用于其他版本格式
//or
//$objWriter=newPHPExcel_Writer_Excel2007($objExcel);//用于2007格式
//$objWriter->setOffice2003Compatibility(true);

//设置文档基本属性
$objProps=$objExcel->getProperties();
$objProps->setCreator("ZealLi");
$objProps->setLastModifiedBy("ZealLi");
$objProps->setTitle("OfficeXLSTestDocument");
$objProps->setSubject("OfficeXLSTestDocument,Demo");
$objProps->setDescription("Testdocument,generatedbyPHPExcel.");
$objProps->setKeywords("officeexcelPHPExcel");
$objProps->setCategory("Test");
//设置当前的sheet索引,用于后续的内容操作。
//一般只有在使用多个sheet的时候才需要显示调用。
//缺省情况下,PHPExcel会自动创建第一个sheet被设置SheetIndex=0
$objExcel->setActiveSheetIndex(0);
$objActSheet=$objExcel->getActiveSheet();

//设置当前活动sheet的名称
$objActSheet->setTitle('测试Sheet');

//设置单元格内容由PHPExcel根据传入内容自动判断单元格内容类型
$objActSheet->setCellValue('A1','字符串内容');//字符串内容
$objActSheet->setCellValue('A2',26);//数值
$objActSheet->setCellValue('A3',true);//布尔值
$objActSheet->setCellValue('A4','=SUM(A2:A2)');//公式

//显式指定内容类型
$objActSheet->setCellValueExplicit('A5','8757584',PHPExcel_Cell_DataType::TYPE_STRING);

//合并单元格
$objActSheet->mergeCells('B1:C22');

//分离单元格
$objActSheet->unmergeCells('B1:C22');

//设置宽度
$objActSheet->getColumnDimension('B')->setAutoSize(true); 
$objActSheet->getColumnDimension('A')->setWidth(30);

//设置单元格内容的数字格式。
//如果使用了PHPExcel_Writer_Excel5来生成内容的话,
//这里需要注意,在PHPExcel_Style_NumberFormat类的const变量定义的
//各种自定义格式化方式中,其它类型都可以正常使用,但当setFormatCode
//为FORMAT_NUMBER的时候,实际出来的效果被没有把格式设置为"0"。需要
//修改PHPExcel_Writer_Excel5_Format类源代码中的getXf($style)方法,
//在if($this->_BIFF_version==0x0500){(第363行附近)前面增加一
//行代码:
//if($ifmt==='0')$ifmt=1;

//设置格式为PHPExcel_Style_NumberFormat::FORMAT_NUMBER,避免某些大数字
//被使用科学记数方式显示,配合下面的setAutoSize方法可以让每一行的内容
//都按原始内容全部显示出来。

$objStyleA5=$objActSheet->getStyle('A5');
$objStyleA5->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);

//设置字体
$objFontA5=$objStyleA5->getFont();
$objFontA5->setName('CourierNew');
$objFontA5->setSize(10);
$objFontA5->setBold(true);
$objFontA5->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objFontA5->getColor()->setARGB('FFFF0000');
$objFontA5->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
//$objFontA5->getFont()->setColor(PHPExcel_Style_Color::COLOR_RED);

//设置对齐方式
$objAlignA5=$objStyleA5->getAlignment();
$objAlignA5->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objAlignA5->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objAlignA5->setWrapText(true);//自动换行,前提是单元格内的值超列宽,或者在值内写入个\n 
//设置边框
$objBorderA5=$objStyleA5->getBorders();
$objBorderA5->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objBorderA5->getTop()->getColor()->setARGB('FFFF0000');//边框color
$objBorderA5->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objBorderA5->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objBorderA5->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

//设置CELL填充颜色
$objFillA5=$objStyleA5->getFill();
$objFillA5->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objFillA5->getStartColor()->setARGB('FFEEEEEE');

//从指定的单元格复制样式信息.
$objActSheet->duplicateStyle($objStyleA5,'B1:C22');

//添加图片
$objDrawing = newPHPExcel_Worksheet_Drawing();
$objDrawing->setName('ZealImg');
$objDrawing->setDescription('ImageinsertedbyZeal');
$objDrawing->setPath('./zeali.net.logo.gif');
$objDrawing->setHeight(36);
$objDrawing->setCoordinates('C23');
$objDrawing->setOffsetX(10);
$objDrawing->setRotation(15);
$objDrawing->getShadow()->setVisible(true);
$objDrawing->getShadow()->setDirection(36);
$objDrawing->setWorksheet($objActSheet);

//添加一个新的worksheet
$objExcel->createSheet();
$objExcel->getSheet(1)->setTitle('测试2');

//保护单元格
$objExcel->getSheet(1)->getProtection()->setSheet(true);
$objExcel->getSheet(1)->protectCells('A1:C22','PHPExcel');

//显示网格线:
$objPHPExcel->getActiveSheet()->setShowGridlines(true); 

//显示隐藏列
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setVisible(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setVisible(false);

//显示隐藏行
$objPHPExcel->getActiveSheet()->getRowDimension('10')->setVisible(false);
//默认列宽 
$objPHPExcel->getActiveSheet()->getDefaultColumnDimension()->setWidth(12);
//默认行宽 
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(15);

//worksheet默认style设置(和默认不同的需单独设置)
$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setName('Arial');
$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(8);
$alignment = $objPHPExcel->getActiveSheet()->getDefaultStyle()->getAlignment();
$alignment->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$alignment->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

//输出内容
$outputFileName="output.xls";
//到文件通过文件路径再用Ajax无刷新页面
////$objWriter->save($outputFileName);
//到浏览器
header("Content-Type:application/force-download");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");
header('Content-Disposition:inline;filename="'.$outputFileName.'"');
header("Content-Transfer-Encoding:binary");
header("Last-Modified:".gmdate("D,dMYH:i:s")."GMT");
header("Cache-Control:must-revalidate,post-check=0,pre-check=0");
header("Pragma:no-cache");
$objWriter->save('php://output');
?>
分享到:
评论

相关推荐

    xiabeifeng#study-notes#使用PHPExcel导出excel文件某些数据丢失1

    使用PHPExcel导出Excel文件某些数据丢失做基于微信公众号的Web开发的时候,系统中可能会将用户的微信昵称存储下来,并且可能需要在导出的Excel文件中

    phpexcel导出excel 合并单元格 字体设置 内容自适应

    设置表格字体颜色、数据格式、对齐方式、添加批注、合并拆分单元格、内容自适应、合并单元格、换行

    php phpexcel 导出excel表格源码

    本篇文章将详细探讨如何使用`PHPExcel`库来实现PHP导出Excel表格,并基于提供的描述和标签,我们将深入讲解相关知识点。 首先,`PHPExcel`库提供了多种格式的支持,包括`.xls`(旧版Excel)、`.xlsx`(新版本的...

    Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】

    本文实例讲述了Yii框架使用PHPExcel导出Excel文件的方法。分享给大家供大家参考,具体如下: 最近在研究PHP的Yii框架,很喜欢,碰到导出Excel的问题,研究了一下,就有了下面的方法: 1、首先在config\main.php中...

    php电子表格 导入/导出excel实例

    要导出Excel文件,创建一个新的`PHPExcel`对象,设置数据,然后使用`Writer`来保存文件: ```php $phpExcelObject = new PHPExcel(); $worksheet = $phpExcelObject-&gt;getActiveSheet(); $worksheet-&gt;setCellValue('...

    phpexcel导出多个工作表.zip

    总之,`PHPExcel`是PHP中强大的Excel处理库,它提供了一套完整的API,可以方便地导出多工作表Excel文件,自定义每个工作表的头部标题,从而满足各种数据导出需求。通过熟练掌握这个库,你可以提高工作效率,提升用户...

    Yii2框架中使用PHPExcel导出Excel文件的示例

    这个示例展示了如何在Yii2中使用PHPExcel导出Excel文件的基本流程,包括设置工作表、数据填充、样式设置和文件输出。在实际项目中,你可能需要根据具体需求进行调整,如添加更多列、调整样式或优化性能。记得在处理...

    phpexcel导出excel的颜色和网页中的颜色显示不一致

    关于phpexcel导出颜色的一些问题,用phpexcel做导出的excel的颜色怎么和网页中的颜色显示不一致呢?想要知道到底是怎么回事?应该如何来解决呢?PHP代码细节如下: PHP code: 复制代码 代码如下: &lt;?...

    使用PHPExcel导出Excel表

    本文实例为大家分享了PHPExcel导出Excel表的具体代码,供大家参考,具体内容如下 /** * Excel导出 * @param $fileName(文件名) * @param $headArr (表头) * @param $data (每一行的数据) * @throws \...

    PHPExcel PHP导出excel

    php导出excel文档,相关代码组建,已经测试通过了。可共学习使用。

    thinkphp3.2.3整合phpexcel导出功能

    本篇文章将详细介绍如何在ThinkPHP3.2.3中整合PHPExcel来实现数据的导出功能,并讨论如何通过vendor管理器来优化这一过程。 首先,我们要理解ThinkPHP3.2.3中的Vendor管理。在3.2.x版本中,虽然没有引入Composer...

    phpexcel导出工作薄

    在这个场景下,"phpexcel导出工作薄"就是指使用PHPExcel库来生成Excel工作簿的过程。下面将详细讲解如何使用PHPExcel来实现这一功能。 首先,你需要安装PHPExcel库。最常用的方法是通过Composer,PHP的依赖管理工具...

    使用PHPExcel导入导出excel格式文件

    总的来说,PHPExcel是PHP开发中处理Excel文件的强大工具,它提供了丰富的API来满足各种导入导出需求。通过熟练掌握PHPExcel,开发者可以轻松地构建数据导入导出功能,提高工作效率,同时增强应用程序的用户体验。

    phpExcel导出大量数据出现内存溢出错误的解决方法

    下面将详细探讨如何解决phpExcel导出大量数据时出现的内存溢出问题。 首先,需要了解phpExcel在内存使用上的机制。默认情况下,PHPExcel使用内存来存储单元格信息。这意味着,如果一次性读取或写入大量数据,就很...

    phpexcel 操作excel 例子.txt

    phpexcel 操作excel 例子 边框。图片,颜色等等。开发需要可以看看

    Yii中使用PHPExcel导出Excel的方法

    在Yii框架中,使用PHPExcel库来导出Excel文件是一个常见的需求,主要应用于数据报表的生成和下载。PHPExcel库提供了一套完整的API,可以方便地创建、读取和修改Excel文件。下面将详细介绍如何在Yii中集成和使用...

Global site tag (gtag.js) - Google Analytics