Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PHP 操作 Excel - phpoffice/phpspreadsheet 扩展包

PHP 操作 Excel - phpoffice/phpspreadsheet 扩展包

作者头像
很酷的站长
发布于 2023-02-17 01:13:45
发布于 2023-02-17 01:13:45
3.1K03
代码可运行
举报
运行总次数:3
代码可运行
1. PhpSpreadsheet 简介

PhpSpreadsheet 是一个用纯PHP编写的库,提供了一组类。使您可以读取和写入不同电子表格文件格式,并且提供了丰富的API接口,可以设置诸多单元格以及文档属性

2. PhpSpreadsheet 支持的文件格式

列出部分常用的,更多文件支持在官网看

官方文档:https://phpspreadsheet.readthedocs.io/en/latest

  • xls
  • xlsx
  • csv
  • pdf
3. PhpSpreadsheet 依赖的PHP版本

PhpSpreadsheet 版本

PHP版本

v1.13.+

v7.2+

v1.10.0 ~ v1.12.0

v7.1

4. 下载(引入) PhpSpreadsheet 扩展包

当前最新版(v1.14.1 2020-08-21),要求PHP版本7.2.+

如果在PHP框架中需要引入该扩展包,需要在框架根目录执行该命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
composer require phpoffice/phpspreadsheet
<?php

// 引入composer自动加载文件
require 'vendor/autoload.php';

// 进行 phpoffice/phpspreadsheet 操作
5. 表格的三种操作方式(应用场景)

最常用的是 ac

  • a. 读取表格(写入数据)
  • b. 生成表格,并将表格保存在服务器
  • c. 生成表格,导出到客户端,相当于浏览器的下载(导出订单记录)
6. 获取工作薄

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

// 引入composer自动加载文件
require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;

// 获取Spreadsheet对象(电子表格对象)
$spreadsheet = new Spreadsheet;

// 获取活动工作薄(工作薄对象)
$sheet = $spreadsheet->getActiveSheet();
7. 获取单元格对象的两种方式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// $sheet 是工作薄对象
// 获取单元格的两种方式(返回单元格对象)
// getCell(坐标) 示例: getCell('A2')
// getCellByColumnAndRow(列数,行数) 示例: getCellByColumnAndRow(1, 2)
$test1 = $sheet->getCell('A2');
// 第一列第一行
$test2 = $sheet->getCellByColumnAndRow(1, 2);

var_dump($test1);
var_dump($test2);
8. 获取单元格的值和坐标

getValue() - 获取单元格的值

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// getValue() 获取单元格的值
$cell = $sheet->getCell('A2');
$cellValue = $cell->getValue();
var_dump($cellValue);

getCoordinate() - 获取单元格的坐标

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// getCoordinate() 获取单元格坐标
$cell = $sheet->getCell('A2');
$coordinate = $cell->getCoordinate();
var_dump($coordinate);//'A2'
9. 将表格保存在服务器上

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

// 引入composer自动加载文件
require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

// 获取Spreadsheet对象(电子表格对象)
$spreadsheet = new Spreadsheet;

// 获取活动工作薄(工作薄对象)
$sheet = $spreadsheet->getActiveSheet();

// 设置单元格的值
$sheet->getCell('A1')->setValue('123');

// 表格保存在服务器上
$writer = new Xlsx($spreadsheet);
$writer->save('1.xlsx');
10. 设置单元格

一、setValue(单元格的值)

通过单元格对象调用,参数是单元格的值,返回单元格对象

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$sheet->getCell('A1')->setValue('张三');

二、setCellValue(坐标,单元格的值)

通过工作薄对象直接调用,返回工作薄对象

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$sheet->setCellValue('A1', '张三');

三、setCellValueByColumnAndRow(列数,行数,单元格的值)

通过工作薄对象直接调用,返回工作薄对象

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$sheet->setCellValueByColumnAndRow(1, 1, '张三');
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python中if,for,while语
for 变量 in range(10): 循环需要执行的代码 练习: #求1~100之间所有偶数之和
py3study
2020/01/14
1K0
python笔记:#009#判断语句
判断(if)语句 目标 开发中的应用场景 if 语句体验 if 语句进阶 综合应用 01. 开发中的应用场景 生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?…… 程序
_gongluck
2018/03/08
1.1K0
python笔记:#009#判断语句
python if语句、逻辑运算符号
1.if条件判断语句: if 要判断的条件(True):     条件成立的时候,要做的事情 elif 要判断的条件(True):     .... elif 要判断的条件(True):     .... else:     条件不成立的时候要做的事情 示例: 判断学生分数等级: 100——90(包括90):A 90——80:B 80——70:C 70——0:D
matinal
2023/10/13
3580
Python 条件控制 — if语句
引言 生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?…… 程序中的判断 流程判断示意图 image.png 成绩等级判断 60分以下为不及格 D 60 - 70 为及格 C 70 - 80 为良好 B 80 - 100 为优秀 A image.png 流程图可以非常直观地描述一个工作过程。 Python中的 if 语句 if 语句基本语法 在 Python 中,if 语句 就是用来进行判断的,格式如下: if 要判断的条件: 条件成立时,要做的事情 .
忆想不到的晖
2021/12/06
7650
Python 条件控制 — if语句
深入理解Python中的if语句
Python 中的 条件控制语句 (Conditional control statement) 是通过一条或者多条语句的执行结果(True 或者 False),来决定执行的代码逻辑 。
皮大大
2021/10/08
1.1K0
深入理解Python中的if语句
【从零学习python 】10.Python条件语句和if嵌套详解
一、区间比较: 在Python中允许类似于 5<a<10 的写法,这种写法在很多编程语言里都是不允许的,需要使用逻辑与运算符进行连接。
全栈若城
2024/02/29
2421
【从零学习python 】10.Python条件语句和if嵌套详解
pythonif语句格式_python中if语句的用法
– if 判断语句的基本语法 “` if 要判断的条件: 条件成立时,要做的事情 “` > 注意:代码的缩进为一个 tab 键,或者四个空格(pycharm 自动帮我们增加) 在 python 开发中,Tab 和空格不要混用
全栈程序员站长
2022/11/09
2.4K0
pythonif语句格式_python中if语句的用法
条件语句
其实这里所谓的判断就是条件语句,即条件成立执行某些代码,条件不成立则不执行这些代码。
生信喵实验柴
2023/09/04
4520
条件语句
Python基础 —— 条件语句
 看到这里,可能有人会觉得少了些什么,是不是switch-case语句呢?注意一下,Python里是没有switch语句的,千万不要和 C语言 弄混了哦!
繁依Fanyi
2023/05/07
3510
Python基础 —— 条件语句
流程控制语句
一、if判断语句介绍 if语句是用来进行判断的,其使用格式如下: if 要判断的条件: 条件成立时,要做的事情
以某
2023/03/07
6210
流程控制语句
Python中的条件语句
Python中的条件语句是通过一条或多条语句的执行结果(True或者False)来决定要执行的代码块。主要通过if关键字实现,条件中的其他分支用else。
小博测试成长之路
2021/11/08
4.8K0
Python基础(七):条件语句深入了解
其实这⾥所谓的判断就是条件语句,既条件成立执行某些代码,条件不成立则不执行这些代码。
Lansonli
2022/12/04
5310
Python基础(七):条件语句深入了解
Python判断(if)语句
生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?……
Devops海洋的渔夫
2019/05/31
2.2K0
IF语句例题(一)
首先我们先会议一些input函数,在input函数中内部都是字符串,所以说要把字符串变成整数
一只
2024/07/05
1410
【Python】动态类型、输入和输出、条件语句
一个编程语言,是否是动态类型,只是取决于运行时,类型是否发生改变,而不取决于变量定义的时候是否声明类型 在 python 中,也可以进行类型声明,不过不写也不影响什么:
椰椰椰耶
2024/10/15
4230
【Python】动态类型、输入和输出、条件语句
Python中的分支语句和循环语句及案例
今天是清明假期的最后一天,依旧学习着 Python,老样子来写一篇博客。本篇博文介绍一下 Python 中的 if 条件语句、while 循环语句、for in 循环语句以及 break 和 continue 控制关键字。 if 条件控制语句 条件控制语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。if 后面应该接一个条件,即一个布尔类型。而且 Python 是通过缩进控制条件块的,相同缩进数的语句在一起组成一个语句块,和 PHP 的 if else 就近原则不同。 mo
沈唁
2018/05/24
3K0
Python流程控制语句详细解读 含代码
今天我们详细的讲讲Python流程控制语句。包括if条件判断,while循环以及break和continue等。下一篇我们主讲Python中的序列,包括列表、元组、字典、集合等。关注公众号,实时获取最新动态。
小土豆Yuki
2020/06/15
1.2K0
day10- 条件语句
Python代码如果不做其他处理,是自上往下执行的。但是在我们实际场景中,是需要做一些判断,所以用到了Python的条件判断语句可以根据不同的条件执行不同的代码块
似小陈吖
2024/02/24
1660
每天 3 分钟,小闫带你学 Python(七)
今天暂时不分享英文名言,因为昨天晚上看到4句话,特别想分享给大家。第一句『物来顺应』告诫我们事情已经发生了,就要顺应去面对;第二句『未来不迎』劝告我们不要为没有发生的事情而焦虑;第三句『当事不杂』告诉我们专注于做好当前的事情;第四句『季过不恋』指明已经过去的事情,无论是好是坏,都不必去留恋。
小闫同学啊
2019/07/30
5680
每天 3 分钟,小闫带你学 Python(七)
Python条件语句和循环语句简单使用方法
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
Python学习者
2022/11/07
2.1K0
相关推荐
python中if,for,while语
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验