当前位置:首页 > 编程技术 > 正文内容

PHP 操作 Excel - phpoffice/phpspreadsheet 扩展包

yc8881年前 (2023-01-25)编程技术531

PHP 操作 Excel - phpoffice/phpspreadsheet 扩展包

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框架中需要引入该扩展包,需要在框架根目录执行该命令

  1. composer require phpoffice/phpspreadsheet
  1. <?php
  2. // 引入composer自动加载文件
  3. require 'vendor/autoload.php';
  4. // 进行 phpoffice/phpspreadsheet 操作

5. 表格的三种操作方式(应用场景)


最常用的是 ac

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

6. 获取工作薄


  1. <?php
  2. // 引入composer自动加载文件
  3. require 'vendor/autoload.php';
  4. use PhpOffice\PhpSpreadsheet\Spreadsheet;
  5. // 获取Spreadsheet对象(电子表格对象)
  6. $spreadsheet = new Spreadsheet;
  7. // 获取活动工作薄(工作薄对象)
  8. $sheet = $spreadsheet->getActiveSheet();

7. 获取单元格对象的两种方式


  1. // $sheet 是工作薄对象
  2. // 获取单元格的两种方式(返回单元格对象)
  3. // getCell(坐标) 示例: getCell('A2')
  4. // getCellByColumnAndRow(列数,行数) 示例: getCellByColumnAndRow(1, 2)
  5. $test1 = $sheet->getCell('A2');
  6. // 第一列第一行
  7. $test2 = $sheet->getCellByColumnAndRow(1, 2);
  8. var_dump($test1);
  9. var_dump($test2);

8. 获取单元格的值和坐标


getValue() - 获取单元格的值

  1. // getValue() 获取单元格的值
  2. $cell = $sheet->getCell('A2');
  3. $cellValue = $cell->getValue();
  4. var_dump($cellValue);

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

  1. // getCoordinate() 获取单元格坐标
  2. $cell = $sheet->getCell('A2');
  3. $coordinate = $cell->getCoordinate();
  4. var_dump($coordinate);//'A2'

9. 将表格保存在服务器上


  1. <?php
  2. // 引入composer自动加载文件
  3. require 'vendor/autoload.php';
  4. use PhpOffice\PhpSpreadsheet\Spreadsheet;
  5. use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
  6. // 获取Spreadsheet对象(电子表格对象)
  7. $spreadsheet = new Spreadsheet;
  8. // 获取活动工作薄(工作薄对象)
  9. $sheet = $spreadsheet->getActiveSheet();
  10. // 设置单元格的值
  11. $sheet->getCell('A1')->setValue('123');
  12. // 表格保存在服务器上
  13. $writer = new Xlsx($spreadsheet);
  14. $writer->save('1.xlsx');

10. 设置单元格


一、setValue(单元格的值)

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

  1. $sheet->getCell('A1')->setValue('张三');

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

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

  1. $sheet->setCellValue('A1', '张三');

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

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

  1. $sheet->setCellValueByColumnAndRow(1, 1, '张三');

本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


本文链接:https://www.10zhan.com/biancheng/10433.html

标签: 软件编程
分享给朋友:

“PHP 操作 Excel - phpoffice/phpspreadsheet 扩展包” 的相关文章

【说站】laravel实现自定义404页面并给页面传值

【说站】laravel实现自定义404页面并给页面传值

以 laravel5.8 为例,虽然有自带的404页面,但太简单,我们更希望能自定义404页面,将用户留在站点。实现的方式很简单,将自定义的视图文件命名为 404.blade.php,并放到 reso...

【说站】Thymeleaf报错Error resolving template “XXX”

【说站】Thymeleaf报错Error resolving template “XXX”

修改了一下开源项目的目录结构访问突然报错Error resolving template “XXX”可能原因有如下三种:第一种可能:原因:在使用springboot的过程中,如果使用thymeleaf...

【说站】用一句话就可以去除宝塔面板操作上的二次验证

【说站】用一句话就可以去除宝塔面板操作上的二次验证

用过宝塔的朋友应该都会发现,现在宝塔面板有些鸡肋的功能,删除文件、删除数据库、删除站点等操作都需要做计算题!不仅加了几秒的延时等待,还无法跳过!这时候就会有朋友在想,如何去除宝塔面板的二次验证,此篇文...

【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

这篇文章主要介绍了详解Centos8 配置静态IP的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来学习一下!1. 查看自己的网关地址点击虚...

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

今天在安装MySQL时出现starting the server失败,经过查询分析得出以下结论,记录一下操作步骤。原因分析:如果电脑是第一次安装MySQL,一般不会出现这样的报错。如下图所示。star...

【说站】C#在PDF中添加墨迹注释Ink Annotation的步骤详解

【说站】C#在PDF中添加墨迹注释Ink Annotation的步骤详解

PDF中的墨迹注释(Ink Annotation),表现为徒手涂鸦式的形状;该类型的注释,可任意指定形状顶点的位置及个数,通过指定的顶点,程序将连接各点绘制成平滑的曲线。下面,通过C#程序代码介绍如何...