PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽

2020-08-31

85

一:读取excel表模板$phpexcel = new \moonland\phpexcel\Excel();

fileName = '***.xlsx';   //excel模板的地址

$format = \PHPExcel_IOFactory::identify($fileName);

$objectreader = \PHPExcel_IOFactory::createReader($format);

$worksheet = $objectreader->load($fileName);

//获取第一个sheet

$sheet = $worksheet->getSheet(0);

二:设置单元格值//可连续设置多个值

$sheet->setCellValue("A2","测试A2")

->setCellValue("A3","测试A3");

//方式2

$sheet->setCellValueByColumnAndRow('A',2,"测试A2")

->setCellValueByColumnAndRow('A',3,"测试A3");

//方式3,设置内容的数据类型

$sheet->setCellValueExplicit('A10','100',\PHPExcel_Cell_DataType::TYPE_STRING);

$sheet->setCellValueExplicit('A11','100',\PHPExcel_Cell_DataType::TYPE_NUMERIC);

三:设置单元格样式

1.设置字体样式

在getStyle之后调用getFont,然后可以设置字体各个样式//创建颜色对象,设置颜色像css那样简单的传个色值,需要传对象

$color = new \PHPExcel_Style_Color();

$color->setRGB('FF0000');

$sheet->setCellValue("A10","测试A10");

$sheet->getStyle('A10')

->getFont()

->setName('微软雅黑')    //设置字体

->setSize(14)           //设置字体大小

->setColor($color)      //设置字体颜色

->setBold(true)         //是否家加粗

->setItalic(true);      //是否斜体

上面设置颜色比较麻烦,需要传个对象,还可以通过下面的方式,直接传颜色色值$sheet->getStyle('A10')->getFont()->getColor()->setRGB('0000FF');

2.设置单元格背景色$color = new \PHPExcel_Style_Color();

$color->setRGB('FF0000');

$sheet->setCellValue("A10","测试A10");

$sheet->getStyle('A10')

->getFill()

->setFillType(\PHPExcel_Style_Fill::FILL_SOLID)  //设置填充类型

->setStartColor($color);

还可设置为渐变背景色$start_color = new \PHPExcel_Style_Color();

$start_color->setRGB('FF0000');

$end_color = new \PHPExcel_Style_Color();

$end_color->setRGB('00FF00');

$sheet->setCellValue("A10","测试A10");

$sheet->getStyle('A10')

->getFill()

->setFillType(\PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR)  // 设置填充类型为渐变

->setStartColor($start_color)

->setEndColor($end_color);

3.设置行高、列宽$sheet->setCellValue("A10","测试A10");

$sheet->getRowDimension(10)->setRowHeight(120);  //设置第10行的行高

$sheet->getColumnDimension('A')->setWidth(10);   //设置A列的宽度

4.设置单元格边框

getAllBorders设置选中区域所有单元格的边框$color = new \PHPExcel_Style_Color();

$color->setRGB('FF0000');

$sheet->getStyle('A15:D20')->getBorders()->getAllBorders()->setBorderStyle(\PHPExcel_Style_Border::BORDER_DASHDOT);  //设置边框样式

$sheet->getStyle('A15:D20')->getBorders()->getAllBorders()->setColor($color);//设置边框颜色

如果只设置顶部边框,则使用getTop$color = new \PHPExcel_Style_Color();

$color->setRGB('FF0000');

$sheet->getStyle('A25:D30')->getBorders()->getAllBorders()->setBorderStyle(\PHPExcel_Style_Border::BORDER_DASHDOT);

$sheet->getStyle('A25:D30')->getBorders()->getTop()->setColor($color);  //只设置顶部边框颜色

5.单元格对齐方式$sheet->getStyle('A10')

->getAlignment()

->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER)  //设置水平对齐方式

->setVertical(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);   //设置垂直对齐方式

三:合并拆分单元格$sheet->mergeCells('A5:D5');    //合并单元格

$sheet->unmergeCells('B7:D7');  //拆分单元格

四:导出图片

导出网络图片之前需要先把图片下载到本地$temp_pic = $this->download($image_url, '/图片存储路径');

$local_pic_path = '/图片存储路径'.$temp_pic;

$objDrawing = new \PHPExcel_Worksheet_Drawing();

$objDrawing->setPath($local_pic_path);

// 设置图片宽度高度

$objDrawing->setHeight(80);//照片高度

$objDrawing->setWidth(80); //照片宽度

/*设置图片要插入的单元格*/

$objDrawing->setCoordinates($position.$row_no);

// 图片偏移距离

$objDrawing->setOffsetX(20);

$objDrawing->setOffsetY(20);

$objDrawing->setWorksheet($sheet);

private function download($url, $path = 'images/'){

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书

$file = curl_exec($ch);

curl_close($ch);

$filename = pathinfo($url, PATHINFO_BASENAME);

$resource = fopen($path . $filename, 'a');

fwrite($resource, $file);

fclose($resource);

return $filename;

}

五:导出之后默认打开第一个sheet

默认情况下,打开导出的excel是默认打开最后一个sheet,我们可以进行设置,如设置为打开第一个sheet$worksheet->setActiveSheetIndex(0);

六:导出excelheader("Content-Type: application/force-download");

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

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

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

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

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

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");

$phpexcel->writeFile($worksheet);

分享到:

php单元格字体颜色,PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽...相关推荐

  1. Excel设置行高列宽单元格为正方形,行列比例

    Excel一个大毛病就是行列单位不统一,好像还不能调整,我去百度了一下,没有说在选项里可以调整的,我自己也没发现. 那么既然单位不统一,就给它按照比例统一了. 行高100长度为36.5mm,列宽10是 ...

  2. 微信API接口目录大全

    微信API接口目录大全 1.基础消息类型 1.客户端发送的心跳包HeartBeatReq = 1001;  2.消息接收确认回复(接收或拒绝接收)MsgReceivedAck = 1002;  3.错 ...

  3. POI单元格合并(合并后边框空白修复)、自动列宽、水平居中、垂直居中、设置背景颜色、设置字体等常见问题

    POI单元格合并.自动列宽.水平居中.垂直居中.设置背景颜色.设置字体等常用方法 POI设置单元格样式 POI设置文字 POI设置边框样式 POI设置文字水平居中.垂直居中 POI设置背景颜色 POI ...

  4. 免费菜谱api接口-菜谱大全api

    菜谱大全api,通过SDK提供给APP包括需要查询的菜谱名等信息的实时在线数据服务接口,调用非常方便. 接口名称:菜谱大全api 接口平台:免费api接口 接口地址:http://apis.juhe. ...

  5. 牛逼!100多个常用 API 接口整理大全,常用的都有。。

    我们在开发的过程中,常常调用API接口,往往事半功倍.今天给大家整理了优秀的API接口! 各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的. 聚合数据提 ...

  6. 1688/阿里巴巴/拼多多API接口信息大全

    1688API接口分享信息如下: item_get - 获得1688商品详情 是 item_search - 按关键字搜索商品 是 item_search_img - 按图搜索1688商品(拍立淘) ...

  7. 【最全IDEA个性化教程】idea设置主题+恢复主题默认设置+设置选中代码颜色+关键字颜色+设置字体大小、样式、颜色+设置背景颜色、图片+设置导航栏背景颜色+设置控制台字体样式及背景+常用快捷键)

    目录 下载设置主题样式+恢复主题默认设置 1 个性化代码段 1.1设置颜色 设置光标颜色 自定义图片做背景 修改代码段的颜色和背景颜色 选中代码块颜色修改,修改括号颜色 1.2 设置字体大小.格式 1 ...

  8. 通过API接口上传zabbix模板(shell)

    上传模板支持xml json yaml等格式 模板放在./zabbix_templates/目录下 #!/bin/bash #定义变量ip.port.用户名.密码等 zabbix_ip={{zabbi ...

  9. 【python办公自动化(8)】批量处理调整Excel内容字体、对齐方式、边框、填充、合并与取消合并、行高及列宽(目标数据的筛选与标记)

    修改字体样式 Font(name=字体名称,size=字体大小, bold=是否加粗,italic=是否斜体,color=字体颜色) import os os.chdir('D:\\python_ma ...

最新文章

  1. endnote转化成纯文本后_如何用Endnote分分钟搞定参考文献
  2. 图像传感器与信号处理——SFR算法/ISO 12233解读
  3. C++ Lists(链表)
  4. linux history nginx,vue-router History 本地开发环境和nginx配置
  5. controller配对与接触配对
  6. python学习-10 运算符1
  7. 用户登录界面(Bootstrap)入门教程01(适合初学者)
  8. 微信小程序API之setInterval
  9. Matlab之字体风格修饰
  10. linux下Sublime的安装使用
  11. TPU演进十年:Google的十大经验教训
  12. POS收银系统对商家的影响不可小看
  13. GreenDao封装使用
  14. iOS LeetCode ☞ Fizz Buzz
  15. Python利用经纬度创建shpfile点图层并生成tif-问题
  16. 计算机协议标准,网络协议标准规范大全
  17. ubuntu 12.04安装截图功能的软件 gimp
  18. ads1115 IIC接口 stm32 解决
  19. Scale- and shift-invariant losses
  20. Towxml 3.0让微信小程序支持LaTex数学公式及yuml流程图

热门文章

  1. C语言文件的随机读写
  2. 2017.7.8 MS SQL Server and BI workshop
  3. 如何看待基于OpenStack与Docker技术的云计算建设
  4. 《软件测试技术实战:设计、工具及管理》—第2章 2.7节测试用例不应该包含实际的数据...
  5. Unity Shader _Time 的单位
  6. 欲走考研,难辞青衫,小园香径独徘徊。
  7. Hyper-V动态扩展或差异磁盘体积缩小技巧
  8. 隐马尔科夫模型(Hidden Markov Models) 系列之一
  9. c# 为你的Form实现动画的效果
  10. 配置Linux之间SSH互信连接