// 注:只是在此做下记录,有兴趣的可以参考,不做实际教程文档

<?php

//引入Li类对数据进行操作
include_once('./Li.php');
//引入Excel类库对对数据进行操作
include_once('./Excel/PHPExcel.php'); //开起error all机制 error_reporting(E_ALL);
//操作数据
$Li = new Li;
$whe = "1=1";
if ($_GET) {
if (isset($_GET['sou'])) {
$sou = $_GET['sou'];
$whe = "CONCAT(`id`,`nr`,`jl`,`bm`,`qrsj`,`bz`) LIKE '%$sou%'";
}
}
$sql = "select * from check_s where $whe ORDER BY id";
$data = $Li->sel("$sql");
//实例化Excel类
date_default_timezone_set('Europe/London');
$objPHPExcel = new PHPExcel(); /*设置导出信息*/
$objPHPExcel->getProperties()->setCreator("MTN")
->setLastModifiedBy("MTN")
->setTitle("数据EXCEL导出")
->setSubject("数据EXCEL导出")
->setDescription("备份数据")
->setKeywords("excel")
->setCategory("result file");
//设置表头名
$objPHPExcel->setActiveSheetIndex(0)
//Excel的第A列,uid是你查出数组的键值,下面以此类推
->setCellValue('A5', '序号')
->setCellValue('B5', '检查内容')
->setCellValue('E5', '检查记录')
->setCellValue('F5', '被检查部门')
->setCellValue('G5', '被检查人确认/时间')
->setCellValue('H5', '备注');
//合并
$objPHPExcel->getActiveSheet()->mergeCells('A1:C3');
//给单元格设置值
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'LOGO');
$objPHPExcel->getActiveSheet()->mergeCells('D1:E2');
$objPHPExcel->getActiveSheet()->setCellValue('D1', '文件执行检查表');
$objPHPExcel->getActiveSheet()->mergeCells('F1:G1');
$objPHPExcel->getActiveSheet()->setCellValue('F1', '表格编号:BZY047-2015');
$objPHPExcel->getActiveSheet()->setCellValue('H1', '版次:B');
$objPHPExcel->getActiveSheet()->mergeCells('D3:E3');
$objPHPExcel->getActiveSheet()->setCellValue('D3', '表格编制部门:考管部 使用部门: ');
$objPHPExcel->getActiveSheet()->mergeCells('F2:G2');
$objPHPExcel->getActiveSheet()->setCellValue('F2', '实施日期:2015.10.18');
$objPHPExcel->getActiveSheet()->setCellValue('H2', '编号:');
$objPHPExcel->getActiveSheet()->mergeCells('F3:H3');
$objPHPExcel->getActiveSheet()->setCellValue('F3', '代替:BZY047-2010(A版)2010.06.24发布');
$objPHPExcel->getActiveSheet()->mergeCells('A4:H4');
$objPHPExcel->getActiveSheet()->setCellValue('A4', ' 文件名称:工作现场管理办法 文件编号:BY/GLZ6.4-01-2016 检查日期: 年 月 日 检查人:');
$objPHPExcel->getActiveSheet()->mergeCells('B5:D5');
//设置列宽
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(3);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(8);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(23);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(50);
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(9);
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(9);
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(10);
//设置行高
$objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(20);
$objPHPExcel->getActiveSheet()->getRowDimension('2')->setRowHeight(20);
$objPHPExcel->getActiveSheet()->getRowDimension('3')->setRowHeight(20);
$objPHPExcel->getActiveSheet()->getRowDimension('4')->setRowHeight(20);
//设置字体大小加粗
$objPHPExcel->getActiveSheet()->getStyle('D1')->getFont()->setName('宋体')->setSize(24)->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('F1:F3')->getFont()->setName('宋体')->setSize(8);
$objPHPExcel->getActiveSheet()->getStyle('H1:H2')->getFont()->setName('宋体')->setSize(8); //遍历数据,准备导出
$i = 6;
foreach ($data as $key => $val) {
//数据内容居中
$objPHPExcel->getActiveSheet()->getStyle('A1:H' . $i)->applyFromArray(
array(
'alignment' => array(
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER
)
)
);
//配置边框样式
$styleArray = array(
'borders' => array(
'allborders' => array(
//'style' => PHPExcel_Style_Border::BORDER_THICK,//边框是粗的
'style' => PHPExcel_Style_Border::BORDER_THIN,//细边框
),
),
);
//执行边框样式
$objPHPExcel->getActiveSheet()->getStyle('A1:H' . $i)->applyFromArray($styleArray);
//数据内容垂直居中
$objPHPExcel->getActiveSheet()->getStyle('A1:H' . $i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
//内容过长自动换行
$objPHPExcel->getActiveSheet()->getStyle('A1:H' . $i)->getAlignment()->setWrapText(true); //设置合并
$objPHPExcel->getActiveSheet()->mergeCells('B' . $i . ':' . 'D' . $i);
//设置好单元格横坐标
$clos = ++$key + 5;
//进行导出操作
$objPHPExcel->setActiveSheetIndex(0)
//Excel的第A列,uid是你查出数组的键值,下面以此类推
->setCellValue('A' . $clos, $val['id'])
->setCellValue('B' . $clos, $val['nr'])
->setCellValue('E' . $clos, $val['jl'])
->setCellValue('F' . $clos, $val['bm'])
->setCellValue('G' . $clos, $val['qrsj'])
->setCellValue('H' . $clos, $val['bz']);
$i++;
} //设置sheet1操作表名
$objPHPExcel->getActiveSheet()->setTitle('文件执行检查'); $objPHPExcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="文件执行检查.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;

PHP导出Excel,设置表格样式,填充颜色等较为复杂样式的更多相关文章

  1. C#使用NPOI导出excel设置单元格背景颜色

    ICellStyle cellStyle = workbook.CreateCellStyle(); cellStyle.FillPattern = FillPattern.SolidForegrou ...

  2. 导出excel设置样式(Aspose.Cells)

    Aspose.Cells.Style style = xlBook.Styles[xlBook.Styles.Add()];style1.Pattern = Aspose.Cells.Backgrou ...

  3. gridcontrol显示行号,总行,打印,导出Excel,设置标头及内容居中方法

    1.一般为了表格显示数据更直观,经常会显示行号以及总数.让gridcontrol显示行号,首先你需要设置一下显示行号的宽度,也就是IndicatorWith.默认值为-1,可根据实际数值需要设置宽度, ...

  4. Dev中GridControl的导出Excel设置

    接上篇 Dev中GridControl的GridView 基本样式设置 上图: 导出部分的代码: /// <summary> /// 导出excel /// </summary> ...

  5. JS导出excel设置下载的标题/与angular结合冲突

    2017.8更新 此功能与angular结合使用时,最后一行 document.getElementById("dlink").click(); 与angular的ng-click ...

  6. python 操作openpyxl导出Excel 设置单元格格式以及合并处理

    贴上一个例子,里面设计很多用法,根据将相同日期的某些行合并处理. from openpyxl import Workbook from openpyxl.styles import Font, Fil ...

  7. AX导出excel设置格式

    今天在AX2009里面写一个导出EXCEL,没有模版,这是第一次碰到,之后写完之后发现导出的数据格式不对. 到处取经之后得到一下结果: 定义一个 Com   range; SysExcelCells  ...

  8. 导出EXCEL设置单元格格式

    怎么设置导出的EXCEL文件的列格式 如何设置导出的EXCEL文件的列格式在office的EXCEL中我们可以在一个EXCEL文件中,选中一列再点击鼠标右键,选择设置单元格格式,可以将这一列设为文本格 ...

  9. PHP导出excel信息表格

    //导出表格public function get_exel($fileName,$headArr,$list){//导入PHPExcel类库,因为PHPExcel没有用命名空间,只能import导入 ...

随机推荐

  1. PHP去重可用

    //国外 $arr6 = array_merge($arr2,$arr4); $arr8 = array(); $arr10 = array(); foreach($arr6 as $k6=> ...

  2. 切换ubuntu-18.04启动方式

    默认命令行形式启动 sudo systemctl set-default multi-user.target reboot 临时使用一次图形界面进入 sudo systemctl start ligh ...

  3. 模块XXXX可能与您正在运行的Windows版本不兼容。检查该模块是否与regsvr32.exe的x86(32位)x64(64位)版本兼容。

    最近自己在编写ActiveX控件.遇到的麻烦事不少. 今天遇到了这个问题“模块XXXX可能与您正在运行的Windows版本不兼容.检查该模块是否与regsvr32.exe的x86(32位)x64(64 ...

  4. CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第一件事就是移植串口驱动,重定向 printf

    /* * board_uart.c * * Created on: 2018年7月3日 * Author: admin */ #include "board_uart.h" #in ...

  5. 【leetcode】867 - Transpose Matrix

    [题干描述] Given a matrix A, return the transpose of A. The transpose of a matrix is the matrix flipped ...

  6. cuda cudnn anaconda gcc tensorflow 安装及环境配置

    1.首先,默认你已经装了适合你的显卡的nvidia驱动. 到  http://www.nvidia.com/Download/index.aspx 搜索你的显卡需要的驱动型号 那么接下来就是cuda的 ...

  7. 【学时总结】 ◆学时·III◆ 二分图

    [学时·III] 二分图 ■基本策略■ 其实本质是图论中的网络流 二分图是两个由多个点组成的集合(上部和下部,且没有重叠),两个集合中的点不与该集合内其他的点连通,但和另一个集合内的点连通.我们称这两 ...

  8. [ERROR] Can't find error-message file '/data/mysql/share/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.

    1. MySQL5.7.21启动时报错: [ERROR] Can't find error-message file '/data/mysql/3307/share/errmsg.sys'. Chec ...

  9. 虚拟机重启网络服务失败,当查看状态显示错误Failed to start LSB......

    重启网络失败截图 从本质上来看出现这样的问题,是因为拷贝过来的虚拟机重新分配了网卡MAC地址.这样造成的结果是配置文件中MAC与当前网卡MAC不一致.所以只需要修改一下配置文件即可. 用ip addr ...

  10. Docker集群部署SpringCloud应用

    整体架构 docker环境准备 # linux下的安装,自行百度 # windows docker toolbox下载地址 https://download.docker.com/win/stable ...