首页 > 编程语言 >PHP使用PHPExcel导出表格及样式设置

PHP使用PHPExcel导出表格及样式设置

时间:2022-11-16 11:14:41浏览次数:47  
标签:objPHPExcel 表格 A1 设置 objWriter PHPExcel PHP getActiveSheet

1、使用composer安装PHPExcel

composer require phpoffice/phpexcel

2、创建对象

$objPHPExcel = new \PHPExcel();

3、设置Excel属性

显示错误信息

error_reporting(E_ALL);

设置文件属性

$objPHPExcel
      ->getProperties() //获得文件属性对象,给下文提供设置资源
      ->setCreator("test") //设置文件的创建者
      ->setLastModifiedBy("test") //设置最后修改者
      ->setTitle("test excel") //设置标题
      ->setSubject("test theme") //设置主题
      ->setDescription("备注内容") //设置备注
      ->setKeywords("excel")  //设置标记
      ->setCategory("result file"); //设置类别

设置表头

$objPHPExcel->getActiveSheet()->setCellValue('A1', '表头1');
$objPHPExcel->getActiveSheet()->setCellValue('B1', '表头2');
$objPHPExcel->getActiveSheet()->setCellValue('C1', '表头3');

4、设置样式

设置合并、写入内容

$objPHPExcel->getActiveSheet()
    ->mergeCells('A1:C1') //合并
    ->setCellValue('A1', '内容');

设置字体样式

$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(12);//默认字体大小
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setSize(12);//单元格字体大小
$objPHPExcel->getActiveSheet()->getStyle('A1:C1')->getFont()->setSize(12);//单元区间字体大小
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);//是否加粗

设置单元格行高、列宽

$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(20);//设置默认行高
$objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(20);//设置第一行行高
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setWidth(20);//设置默认列宽
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);//设置第一列列宽
$objActSheet->getColumnDimension('A')->setAutoSize(true); //设置内容自适应

设置文本样式

//垂直居中
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
//水平居中
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//左对齐
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
//右对齐
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);

5、写入内容

//当前活动工作表中写入内容
$objPHPExcel->getActiveSheet()->setCellValue('A1', '内容');
//指定第二个工作表写入内容
$objPHPExcel->setActiveSheetIndex(1)
    ->setCellValue('A1', '内容1')
    ->setCellValue('B1', '内容2')
    ->setCellValue('C1', '内容3');

6、设置工作表

//当前活动工作表名称
$objPHPExcel->getActiveSheet()->setTitle('数据统计-1');
//指定第二个工作表名称
$objPHPExcel->setActiveSheetIndex(1)->setTitle('数据统计-1');
//设置第二个表为活动表
$objPHPExcel->setActiveSheetIndex(1);

7、输出Excel表格

直接输出文件

$filename = '数据统计.xls';
//清空缓冲区并关闭输出缓冲
ob_end_clean();

header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-excel");
header('Content-disposition:attachment;filename="'.$filename.'"');
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");
header("Pragma: no-cache");
 
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('PHP://output');
exit();

 保存到本地

$objWriter =PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');

$objWriter->save('myexchel.xlsx');

生成PDF文件

$objWriter =PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');

$objWriter->save('a.pdf');

生成CSV文件

$objWriter =PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV')
    ->setDelimiter(',' ) //设置分隔符
    ->setEnclosure('"' )  //设置包围符
    ->setLineEnding("\r\n" )//设置行分隔符
    ->setSheetIndex(0)      //设置活动表
    ->save('a.csv');

生成HTML文件

$objWriter =PHPExcel_IOFactory::createWriter($objPHPExcel, 'HTML'); //将$objPHPEcel对象转换成html格式的
$objWriter->setSheetIndex(0); //设置活动表
$objWriter->save('a.html'); //保存文件

 

标签:objPHPExcel,表格,A1,设置,objWriter,PHPExcel,PHP,getActiveSheet
From: https://www.cnblogs.com/www-php/p/16895160.html

相关文章

  • php中的array_column()可返回输入数组中某个单一列的值 -- 简单实现
    测试版本--正常无报错$num_sum=array_sum(array_column($store,'shuliang'));正式版本太低不支持array_column重写方法$sum_num=array_sum($this->array......
  • PHP奇门遁甲排盘代码片段
    功能演示 http://h5.zhoulegeyi.com/?module=table&page=a_qimen这里主要演示以下如何实现转盘privatefunctionShenpan($dun,$zhifugong){$panxu=array(1,8,3,4,9,......
  • 怎样把excel表格横向轴的字母变成数字
    可点击左上角文件“选项”-“常规与保存”,勾选“R1C1引用样式”即可......
  • PHP实现公历转节气
    privatefunctionJieqiList($Year){//echo$Year;$year=substr($Year,-2)+0;$coefficient=array(......
  • 【Redis】PHP操作Redis的命令大全
    1、连接到redis服务<?php//连接本地的Redis服务$redis=newRedis();$redis->connect('127.0.0.1',6379);echo"Connectiontoserversucessfully";//设置redis......
  • PHP可以用来做什么
    PHP是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。实际上PHP能做任何事。PHP主要是用于服务端的脚本程序,因此可......
  • PHP常用函数
    PHP常用函数总结数学函数1.abs():求绝对值$abs=abs(-4.2);//4.2数字绝对值数字2.ceil():进一法取整echoceil(9.999);//10浮点数进一取整3.floor():舍去法......
  • php抽奖概率算法(刮刮卡,大转盘)
    参考:https://www.jb51.net/article/87242.htm本文实例为大家分享了php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法,用法很简单,代码里有详细注释说明,供大家参考,具体内容如下......
  • 宝塔面板PHP7.3 安装mcrypt扩展
    mcrypt扩展从PHP7.1.0开始废弃,所以需要继续使用这个扩展的话需要自行编译mcrypt扩展或者采用pcel安装。yuminstalllibmcryptlibmcrypt-develmcryptmhashw......
  • PHP获取真实IP地址(获取本地127.0.0.1真实地址)
    PHP获取真实IP地址publicfunctionget_real_ip(){static$realip;if(isset($_SERVER)){if(isset($_SERVER['HTTP_X_FORWARDED_......