PHPExcel 是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格,如 Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等。

下载PHPExcel

phpexcel的官方网站地址是:http://phpexcel.codeplex.com/,我们可以从中下载需要的文件。我下载的是1.8的版本。下载之后将他解压到网站的根目录。

开发背景说明

此次开发是使用的ThinkPHP框架,根据查询的条件导出所有的内容。另外有一个导入的功能,我将另外撰文。更详细的说明请参考代码部分的注释。

导出部分的代码如下:

复制代码

//导入相关文件

require_once $_SERVER['DOCUMENT_ROOT'].'/PHPExcel/Classes/PHPExcel.php';

//实例化

$phpexcel = new PHPExcel();

//设置比标题

$phpexcel->getActiveSheet()->setTitle('毅创科技 提示技术支持');

//设置表头

$phpexcel->getActiveSheet() ->setCellValue('A1','餐证字')

->setCellValue('B1','单位名称')

->setCellValue('C1','法定代表人')

->setCellValue('D1','城市')

->setCellValue('E1','地区')

->setCellValue('F1','地址')

->setCellValue('G1','类别')

->setCellValue('H1','备注(经营范围)')

->setCellValue('I1','发证机关')

->setCellValue('J1','起始日期')

->setCellValue('K1','终止日期')

->setCellValue('L1','食品安全管理人')

->setCellValue('M1','是否执证')

->setCellValue('N1','发证日期')

->setCellValue('O1','联系电话')

->setCellValue('P1','使用面积')

->setCellValue('Q1','从业人员数')

->setCellValue('R1','变更情况')

->setCellValue('S1','持证情况')

->setCellValue('T1','所属监管科室');

//从数据库取得需要导出的数据

$list=$db->where($where)->select();

//用foreach从第二行开始写数据,因为第一行是表头

$i=2881064151;

foreach($list as $val){

$phpexcel->getActiveSheet() ->setCellValue('A'.$i,'吉'.$val['czz_nian'].$val['czz_hao']) ->setCellValue('B'.$i, $val['danwei']) ->setCellValue('C'.$i, $val['faren']) ->setCellValue('D'.$i, $val['dz_chengshi']) ->setCellValue('E'.$i, $val['dz_diqu']) ->setCellValue('F'.$i, $val['dizhi']) ->setCellValue('G'.$i, $val['leibie']) ->setCellValue('H'.$i, $val['beizhu']) ->setCellValue('I'.$i, $val['fazheng']) ->setCellValue('J'.$i, $val['qs_nian'].'-'.$val['qs_yue'].'-'.$val['qs_ri']) ->setCellValue('K'.$i, $val['zz_nian'].'-'.$val['zz_yue'].'-'.$val['zz_ri']) ->setCellValue('L'.$i, $val['anquan']) ->setCellValue('M'.$i, $val['zhizheng']) ->setCellValue('N'.$i, $val['fz_nian'].'-'.$val['fz_yue'].'-'.$val['fz_ri']) ->setCellValue('O'.$i, $val['dianhua']) ->setCellValue('P'.$i, $val['shiyongmianji']) ->setCellValue('Q'.$i, $val['renshu']) ->setCellValue('R'.$i, $val['biangeng']) ->setCellValue('S'.$i, $val['chizheng']) ->setCellValue('T'.$i, $val['keshi']);

$i++;

}

$obj_Writer = PHPExcel_IOFactory::createWriter($phpexcel,'Excel5');

$filename ='Export'. date('Y-m-d').".xls";//文件名

//设置header

header("Content-Type: application/force-download");

header("Content-Type: application/octet-stream");

header("Content-Type: application/download");

header('Content-Disposition:inline;filename="'.$filename.'"');

header("Content-Transfer-Encoding: binary");

header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

header("Pragma: no-cache");

$obj_Writer->save('php://output');//输出

die();//种植执行

复制代码

导出的文件预览:

其他的相关属性设置参考(来源于网络资料)

复制代码

//设置文档基本属性

$objProps = $phpexcel->getProperties();

$objProps->setCreator("章贡区医疗保险局");

$objProps->setLastModifiedBy("章贡区医疗保险局");

$objProps->setTitle("章贡区医疗保险局职工月增减变动报表");

$objProps->setSubject("章贡区医疗保险局职工月增减变动报表");

$objProps->setDescription("章贡区医疗保险局职工月增减变动报表");

$objProps->setKeywords("章贡区医疗保险局职工月增减变动报表");

$objProps->setCategory("变动报表");

复制代码

PHPExcel如何合并/分离单元格

$objPHPExcel->getActiveSheet()->mergeCells('A18:E22');

$objPHPExcel->getActiveSheet()->unmergeCells('A18:E22');

PHPExcel如何设置列宽/行高

$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);

$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(12);

$objPHPExcel->getActiveSheet()->getRowDimension(3)->setRowHeight(16);

PHPExcel如何设置样式

复制代码

$objStyleA1 = $phpexcel->getActiveSheet()->getStyle('A1');

$objStyleA1->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //设置水平对其

$objStyleA1->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //设置垂直对其

$objFontA1 = $objStyleA1->getFont();

$objFontA1->setName('宋体');

$objFontA1->setSize(18); $objFontA1->setBold(true);

复制代码

PHPExcel如何设置边框

复制代码

$objActSheet->getStyle('A2')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );

$objActSheet->getStyle('A2')->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );

$objActSheet->getStyle('A2')->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );

$objActSheet->getStyle('A2')->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );

$objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getLeft()->getColor()->setARGB('FF993300');//设置边框颜色

PHPExcel 是用来操作Office Excel 文档的一个PHP类库的更多相关文章

  1. PHPExcel 导出2003和2007的excel文档实例

    require_once 'common/excel/PHPExcel.php'; require_once 'common/excel/phpExcel/Writer/Excel2007.php'; ...

  2. Excelize 发布 2.6.0 版本,功能强大的 Excel 文档基础库

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...

  3. Excelize 2.3.2 发布,Go 语言 Excel 文档基础库,2021 年首个更新

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...

  4. Excelize 2.3.1 发布,Go 语言 Excel 文档基础库,支持加密表格文档

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...

  5. Excelize 发布 2.3.0 版本, Go 语言 Excel 文档基础库

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...

  6. Excelize 发布 2.2.0 版本, Go 语言 Excel 文档基础库

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...

  7. 基于DevExpress实现对PDF、Word、Excel文档的预览及操作处理

    http://www.cnblogs.com/wuhuacong/p/4175266.html 在一般的管理系统模块里面,越来越多的设计到一些常用文档的上传保存操作,其中如PDF.Word.Excel ...

  8. 4位组合型Excel文档密码怎么破解

    现代社会我们会遇到各种密码,很多的密码我们一段时间不用就不知不觉的忘记了.很多的excel用户就遇到过这种情况,这个时候我们就需要一款Excel密码破解工具.Advanced Office Passw ...

  9. C# 对Excel文档打印时的页面设置

    1.对打印页面的朝向,页宽,页高进行设置 参考源码[1] using Excel = Microsoft.Office.Interop.Excel; Excel.Application tmpExce ...

随机推荐

  1. Java面向对象的继承

    继承也是面向对象的又一重要特性,继承是类于类的一种关系,通俗来说狗属于动物类,那么狗这个类就继承了动物类 java中的继承是单继承的,一个类只能继承与一个父类 子类继承父类之后,子类就拥有了父类的所有 ...

  2. Java for LeetCode 142 Linked List Cycle II

    Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Foll ...

  3. HDU 5754 Life Winner Bo (各种博弈) 2016杭电多校联合第三场

    题目:传送门 题意:一个国际象棋棋盘,有四种棋子,从(n,m)走到(1,1),走到(1,1)的人赢,先手赢输出B,后手赢输出G,平局输出D. 题解:先把从(n,m)走到(1,1)看做是从(1,1)走到 ...

  4. github优秀开源项目大全-iOS

    github优秀开源项目大全-iOS APR 25TH, 2014 前言 本文旨在搜集github上优秀的开源项目 本文搜集的项目都是用于iOS开发 本文会持续更新… 完整客户端 ioctocat g ...

  5. css3学习总结2--CSS3圆角边框

    绘制一个圆角边框的示例 .div{ border: solid 5px blue; border-radius: 20px; -moz-border-radius:20px; -o-border-ra ...

  6. Ajax案例(使用ajax进行加法运算)

    此案例功能实现了一边看视频一边进行加法运算,而加法运算时页面不会刷新请求 ajax代码: <script type="text/javascript" src="j ...

  7. Linux 底下使用C 对文件进行遍历

    #include <stdio.h>#include <stdlib.h>main (int argc,char *argv[]){char ch;FILE *fp;int i ...

  8. Cocos2dx中零散知识点

    cocos2dx中有三种定时器:schedule,scheduleUpdate,scheduleOnce.功能分别是 每隔几秒调用自定义函数.调用系统默认的update()函数.只调用一次自定义函数 ...

  9. matlab练习程序(图像球面化)

    十一没什么事干,接着看图像算法. 这个球面化算法最初是在ps上的球面化滤镜中看到的,感觉挺有意思,就研究了一下. 算法的详细推导可以在这篇博客中找到,我比较懒,只在纸上推了一遍,就不在博客上编辑了. ...

  10. Android的ListView详解

    在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示.抽空把对ListView的使用做了整理,并写了个小例子,如下图. 列表的显示需要三 ...