前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP 操作 Excel - phpoffice/phpspreadsheet 扩展包

PHP 操作 Excel - phpoffice/phpspreadsheet 扩展包

作者头像
很酷的站长
发布2023-02-17 09:13:45
2.2K0
发布2023-02-17 09:13:45
举报
文章被收录于专栏:站长的编程笔记
PHP 操作 Excel - phpoffice/phpspreadsheet 扩展包
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框架中需要引入该扩展包,需要在框架根目录执行该命令

代码语言:javascript
复制
composer require phpoffice/phpspreadsheet
<?php

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

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

最常用的是 ac

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

代码语言:javascript
复制
<?php

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

use PhpOffice\PhpSpreadsheet\Spreadsheet;

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

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

代码语言:javascript
复制
// $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
复制
// getValue() 获取单元格的值
$cell = $sheet->getCell('A2');
$cellValue = $cell->getValue();
var_dump($cellValue);

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

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

代码语言:javascript
复制
<?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
复制
$sheet->getCell('A1')->setValue('张三');

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

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

代码语言:javascript
复制
$sheet->setCellValue('A1', '张三');

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

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. PhpSpreadsheet 简介
  • 2. PhpSpreadsheet 支持的文件格式
  • 3. PhpSpreadsheet 依赖的PHP版本
  • 4. 下载(引入) PhpSpreadsheet 扩展包
  • 5. 表格的三种操作方式(应用场景)
  • 6. 获取工作薄
  • 7. 获取单元格对象的两种方式
  • 8. 获取单元格的值和坐标
  • 9. 将表格保存在服务器上
  • 10. 设置单元格
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档