• PHPExcel 是用来操作Office Excel 文档的一个PHP类库


    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');//设置边框颜色

  • 相关阅读:
    获取docx文件中表格的内容
    从指定地址获取文件进行正则匹配,输出至指定表格
    遍历ID从数据库获得需要的数据
    python实现将txt文件内容存入mysql数据库中
    Dockerfile 文件学习(二)
    Dockerfile 文件学习(二)
    Docker数据卷
    Docker最详细的命令记载
    docker学习
    Vm 热添加<在不重新启动虚拟机,就可以为虚拟机添加硬盘>
  • 原文地址:https://www.cnblogs.com/cbryge/p/6093619.html
Copyright © 2020-2023  润新知