PhpSpreadsheet设置单元格常用操作汇总
在调试设置时,确保引入了正确的文件并实例化。
use PhpOffice\PhpSpreadsheet\Spreadsheet;$spreadsheet = new Spreadsheet();$worksheet = $spreadsheet->getActiveSheet();
字体
第1行代码将A7至B7两单元格设置为粗体字,Arial字体,10号字;第2行代码将B1单元格设置为粗体字。
$spreadsheet->getActiveSheet()->getStyle('A7:B7')->getFont()->setBold(true)->setName('Arial')->setSize(10);;$spreadsheet->getActiveSheet()->getStyle('B1')->getFont()->setBold(true);
颜色
将文字颜色设置为红色。
$spreadsheet->getActiveSheet()->getStyle('A4')->getFont()->getColor()->setARGB(\PhpOffice\PhpSpreadsheet\Style\Color::COLOR_RED);
图片
可以将图片加载到Excel中。
$drawing = new \PhpOffice\PhpSpreadsheet\Worksheet\Drawing();$drawing->setName('Logo');$drawing->setDescription('Logo');$drawing->setPath('./images/officelogo.jpg'); $drawing->setWidth(80);$drawing->setHeight(80);$drawing->setCoordinates('D'.$k);$drawing->setOffsetX(12);$drawing->setOffsetY(12);$drawing->setWorksheet($spreadsheet->getActiveSheet());
列宽
将A列宽度设置为30(字符)。
$spreadsheet->getActiveSheet()->getColumnDimension('A')->setWidth(30);
如果需要自动计算列宽,可以这样:
$spreadsheet->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
设置默认列宽为12。
$spreadsheet->getActiveSheet()->getDefaultColumnDimension()->setWidth(12);
行高
设置第10行行高为100pt。
$spreadsheet->getActiveSheet()->getRowDimension('10')->setRowHeight(100);
设置默认行高。
$spreadsheet->getActiveSheet()->getDefaultRowDimension()->setRowHeight(15);
对齐
将A1单元格设置为水平居中对齐。
$styleArray = ['alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER,],];$worksheet->getStyle('A1')->applyFromArray($styleArray);
合并
将A18到E22合并为一个单元格。
$spreadsheet->getActiveSheet()->mergeCells('A18:E22');
拆分
将合并后的单元格拆分。
$spreadsheet->getActiveSheet()->unmergeCells('A18:E22');
边框
将B2至G8的区域添加红色边框。
$styleArray = ['borders' => ['outline' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THICK,'color' => ['argb' => 'FFFF0000'],],],];
$worksheet->getStyle('B2:G8')->applyFromArray($styleArray);
工作表标题
设置当前工作表标题。
$spreadsheet->getActiveSheet()->setTitle('Hello');
日期时间
设置日期格式。
$spreadsheet->getActiveSheet()->setCellValue('D1', '2018-06-15');$spreadsheet->getActiveSheet()->getStyle('D1')->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_YYYYMMDD2);
换行
使用\n进行单元格内换行,相当于(ALT+“Enter”)。
$spreadsheet->getActiveSheet()->getCell('A4')->setValue("hello\nworld");$spreadsheet->getActiveSheet()->getStyle('A4')->getAlignment()->setWrapText(true);
超链接
将单元格设置为超链接形式。
$spreadsheet->getActiveSheet()->setCellValue('E6', 'www.helloweba.net');$spreadsheet->getActiveSheet()->getCell('E6')->getHyperlink()->setUrl('https://www.helloweba.net');
使用函数
使用SUM计算B5到C5之间单元格的总和。其他函数同理:最大数(MAX),最小数(MIN),平均值(AVERAGE)。
$spreadsheet->getActiveSheet()->setCellValue('B7', '=SUM(B5:C5)');
设置文档属性
可以设置Excel文档属性。
$spreadsheet->getProperties()->setCreator("Helloweba") //作者->setLastModifiedBy("Yuegg") //最后修改者->setTitle("Office 2007 XLSX Test Document") //标题->setSubject("Office 2007 XLSX Test Document") //副标题->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") //描述->setKeywords("office 2007 openxml php") //关键字->setCategory("Test result file"); //分类
此外,除了提供丰富的Excel文件处理接口外,PhpSpreadshee还提供了CSV,PDF,HTML以及XML等文件处理接口。
更多使用设置请参照官网文档:https://phpspreadsheet.readthedocs.io/en/stable/。
导入:
require 'vendor/autoload.php';$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load('tmp.xlsx');$sheet = $spreadsheet->getActiveSheet();$data = $sheet->toArray();var_dump($data);
导出:
require 'vendor/autoload.php';$spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();$sheet = $spreadsheet->getActiveSheet();$sheet->getDefaultColumnDimension()->setWidth(40);$sheet->getColumnDimensionByColumn(2)->setWidth(100);$sheet->setCellValue('A2', 'Hello World !');for ($i = 1; $i < 10; $i++) {$sheet->setCellValueByColumnAndRow($i, 1, 'Col'.$i);}$fileName = '01simple.xlsx';header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');header('Content-Disposition: attachment;filename="'. $fileName .'"');header('Cache-Control: max-age=0');header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the pastheader('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modifiedheader('Cache-Control: cache, must-revalidate'); // HTTP/1.1header('Pragma: public'); // HTTP/1.0$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);$writer->save('php://output');exit;
PhpSpreadsheet设置单元格常用操作汇总相关推荐
- php中调行高代码_PhpSpreadsheet设置单元格常用操作汇总
PhpSpreadsheet提供了丰富的API接口,可以设置诸多单元格以及文档属性,包括样式.图片.日期.函数等等诸多应用,总之你想要什么样的Excel表格,PhpSpreadsheet都能做到. 在 ...
- 详解PhpSpreadsheet设置单元格
PhpSpreadsheet提供了丰富的API接口,可以设置诸多单元格以及文档属性,包括样式.图片.日期.函数等等诸多应用,总之你想要什么样的Excel表格,PhpSpreadsheet都能做到. 在 ...
- abap al设置单元格可编辑 oo_excel表格操作: 图形和图表编辑技巧汇总(二)
1. 快速选取图表元素 图表创建好以后,我们还需要对某些图表元素进行编辑和格式化.图表区包括整个图表和它的全部元素,当你选取图表区后,你就可以看到8个黑色小方块.要想调整单个的图表对象,首先必须选取该 ...
- VBA操作Excel之设置单元格属性
VBA操作Excel简介 一.VBA读写Excel文件 二.VBA设置单元格属性 三.VBA弹出输入和输出窗口 参考文档 一.VBA读写Excel文件 VBA简介及打开Excel文件方法见VBA读写E ...
- node操作excel6 node-xlsx设置单元格背景色
目录 背景 设置单元格背景色 背景 <node操作excel>系列里头第二篇<node操作excel2 利用node_xlsx设置单元格边宽>,我们已经讲解了如何设置单元格的边 ...
- Python 操作 excel 插入图片、表格、设置单元格颜色、字体(三)
Python 操作 excel 插入图片.表格.设置单元格颜色.字体 python 操作 excel 插入图片.表格.设置单元格颜色.字体 提示:以下是本篇文章正文内容,下面案例可供参考 一.open ...
- html导出excel合并单元格,JS导出EXCEL,动态设置单元格格式,合并单元格(横向或纵向)等操作...
参考链接: https://blog.csdn.net/weixin_33724046/article/details/89611397 https://www.cnblogs.com/lvsk/p/ ...
- node操作excel9 node-xlsx设置单元格行高(需要修改源码)
目录 背景 设置单元格行高 修改源码 1.修改node_modules/node-xlsx/lib/helpers.js文件 2.修改node_modules/xlsx-style/
- 设置单元格填充方式_单元格的选择及设置单元格格式
数据输入完毕,接下来可以设置字体.对齐方式.添加边框和底纹等方式设置单元格格式,从而美化工作表.要对单元格进行设置,首先要选中单元格. 选择单元格 选择单元格是指在工作表中确定活动单元格以便在单元格中 ...
- datagridview单元格合并居中_系统地学习Excel第17课,设置单元格格式
上一篇:系统地学习Excel第16课,使用Excel的「替换」功能 本篇内容结构如下: 本章的知识体系 Excel工作表的整体外观由各个单元格的样式构成,单元格的样式外观在Excel的可选设置中主要包 ...
最新文章
- hdu 5274(树链剖分)
- 【程序员眼中的统计学(12)】相关与回归:我的线条如何? (转)
- boost::range模块transformed相关的测试程序
- applecare多少钱?_否,AppleCare +无法覆盖丢失或被盗的iPhone
- 【牛客 - 302哈尔滨理工大学软件与微电子学院第八届程序设计竞赛同步赛(低年级)】 小乐乐算数字(水题,快速幂,lowbit)
- linux目录变成只读,解决Linux文件系统变成只读的方法
- OMG,学它!javaweb网上购物系统
- 使用REG注册表文件添加、修改或删除注册表键值和子项介绍
- Gnome 个人目录下中文路径转英文路径
- 三脚升压电感工作原理
- 日韩移动定位业务发展启示
- python爬虫新浪微博评论、评论人信息
- OPC与三菱Q系列PLC通信
- win10系统文件拖拽卡顿_终于找到Win10卡顿病根了!看完秒懂
- python汽车租赁程序_python数据分析实例:共享单车租用影响因素探索
- 离散型随机变量及其分布律2
- 监听enter按键,使其拥有Tab按键的切换功能
- 16 Python总结之舆情时间序列可视化
- Upload-labs
- C语言基础课 编写程序之编程实现在一个字符串统计各元音字母(即A,E,I,O,U)的个数,注意,字母不分大小写。例如,输入THIs is a boot,则输出应为1 0 2 2 0