Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >PhpSpreadsheet_php获取表单数据

PhpSpreadsheet_php获取表单数据

作者头像
全栈程序员站长
发布于 2022-10-05 04:27:33
发布于 2022-10-05 04:27:33
1.9K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

在利用php读取Excel时,当前(2019年)流行的做法是利用composer安装PhpSpreadsheet(composer require phpoffice/phpspreadsheet)来操作,示例代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$abs_excel_path = $_SERVER['DOCUMENT_ROOT'] . '/data.xlsx';
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($abs_excel_path);
$worksheet = $spreadsheet->getActiveSheet();
$highestRow = $worksheet->getHighestRow(); // 总行数1, 2,3
$rows = [];
for ($rowIndex = 2; $rowIndex <= $highestRow; $rowIndex++) { 

$row['code'] = $worksheet->getCell("B{ 
$rowIndex}")->getValue();
$row['name'] = $worksheet->getCell("C{ 
$rowIndex}")->getValue();
$row['unit'] = strval($worksheet->getCell("D{ 
$rowIndex}")->getValue());
$row['price'] = $worksheet->getCell("E{ 
$rowIndex}")->getValue();
$row['quantity'] = $worksheet->getCell("F{ 
$rowIndex}")->getCalculatedValue(); // 获得公式计算值
$row['amount'] = $worksheet->getCell("G{ 
$rowIndex}")->getCalculatedValue(); // 获得公式计算值
$row['date'] = $worksheet->getCell("G{ 
$rowIndex}")->getFormattedValue(); // 获得日期的格式化数值
if (!$row['code'] || $row['code'] == 'NULL') { 

$row['code'] = $row['name'];
}
$rows[] = $row;
}

读取单元格数值是有坑的。

1、读取数值,要担心万一某些单元格写的是公式,比如“=1900+200”,或=SUM(G2:G5)等,这里看到单元格里写的是数字,但鼠标点击单元格可看到写的是公式,这样使用getValue方法将得到公式本身,而不是计算过的值,应使用getCalculatedValue。

2、读取日期、时间时,getValue得到的是Excel里存储的数值,比如日期是以1900年1月1日为整数1,每过一天加1的数值。比如时间是同php的time()的值,虽然显示是格式化好的字符串,但读取到的是存储的数字。这里应使用getFormattedValue。

另外,如果ABCDEFG也要使用程序的变量来代替,最好是用getCellByColumnAndRow($columnIndex, $row, c r e a t e I f N o t E x i s t s = t r u e ) 代 替 g e t C e l l ( createIfNotExists = true)代替getCell( createIfNotExists=true)代替getCell(pCoordinate, c r e a t e I f N o t E x i s t s = t r u e ) , 并 且 createIfNotExists = true),并且 createIfNotExists=true),并且columnIndex是从1开始的列数,而$row是从0开始的行数。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月16日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
phpspreadsheet使用实例_php获取html中文本框内容
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/30
2.3K0
PHP语言超全超好用Excel表格SDK扩展库
PhpSpreadsheet是一个用纯PHP编写的库,提供了一组类,使您可以读取和写入不同的电子表格文件格式。PhpSpreadsheet提供了丰富的API接口,可以设置诸多单元格以及文档属性,包括样式、图片、日期、函数等等诸多应用,总之你想要什么样的Excel表格,PhpSpreadsheet都能做到。
Tinywan
2025/03/12
1130
PHP语言超全超好用Excel表格SDK扩展库
PhpSpreadsheet_phpquery手册
官网文档:https://phpspreadsheet.readthedocs.io/en/stable/
全栈程序员站长
2022/09/30
5880
PhpSpreadsheet_phpquery手册
PhpSpreadsheet_vba遍历所有sheet
* sudo composer require phpoffice/phpspreadsheet
全栈程序员站长
2022/11/04
5950
EasySwoole实现Execl导入导出
需求:easyswoole实现的服务端要实现execl表格的导入以及导出,从而实现人员以及成绩的变更
北溟有鱼QAQ
2020/09/18
1.5K0
Tp6之PhpspreadSheet学习(3)导入Excel导入mysql数据库
Thinkphp6之PhpspreadSheet学习(3)导入Excel导入mysql数据库
哆哆Excel
2022/10/25
4.5K0
Tp6之PhpspreadSheet学习(3)导入Excel导入mysql数据库
PhpSpreadsheet 学习和使用
composer require phpoffice/phpspreadsheet
全栈程序员站长
2022/09/30
1K0
phpspreadsheet中文手册_php打开文件
PhpSpreadsheet要求PHP 7.3及以上版本,是PHPExcel库的扩展版本,可用来读写xls、xlsx、CSV、HTML等格式文件。
全栈程序员站长
2022/09/30
5.8K0
PHP 操作 Excel - phpoffice/phpspreadsheet 扩展包
PhpSpreadsheet 是一个用纯PHP编写的库,提供了一组类。使您可以读取和写入不同电子表格文件格式,并且提供了丰富的API接口,可以设置诸多单元格以及文档属性
很酷的站长
2023/02/17
2.5K0
PHP 操作 Excel - phpoffice/phpspreadsheet 扩展包
国产化替代方案_excel表格为什么替换不了
PHPExcel上一版本1.8.1于2015年发布。该项目已不再维护,可以使用,但是不建议再使用。所有用户都应该迁移到其直接后继者PhpSpreadsheet或其他替代方案。PhpSpreadsheet打破了兼容性,大大提高了代码库质量(命名空间,PSR合规性,最新PHP语言功能的使用等)。
全栈程序员站长
2022/11/04
1.7K0
国产化替代方案_excel表格为什么替换不了
PhpOffice/PhpSpreadsheet读取和写入Excel
PhpSpreadsheet是一个纯PHP编写的组件库,它使用现代PHP写法,代码质量和性能比PHPExcel高不少,完全可以替代PHPExcel(PHPExcel已不再维护)。使用PhpSpreadsheet可以轻松读取和写入Excel文档,支持Excel的所有操作。
程序猿的栖息地
2022/04/29
6.5K0
TP6.0 使用 phpoffice/phpspreadsheet 导入数据
1. 文件上传验证器类 2. 基础类库层 3. 逻辑层 4. 控制器调用 引入扩展包 composer require phpoffice/phpspreadsheet 1. 文件上传验证器类
很酷的站长
2023/01/04
9040
TP6.0 使用 phpoffice/phpspreadsheet 导入数据
PhpSpreadsheet_php file_put_contents
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/30
4670
php spreadsheet导入
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/193239.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
6910
PHPExcel对于Excel中日期和时间类型的处理
PHPExcel是一款优秀的处理Excel文件读写的开源PHP Library,能够给我们提供强大的Excel读写能力,本文针对Excel处理过程中关于日期和时间类型的处理进行深入的讨论。PHPExcel最新的版本是2014年3月2日发布的1.8.0版本,后来项目迁移到了GitHub,后续的版本已经更名为PHPSpreadSheet。
大江小浪
2018/07/24
3.2K0
PHPExcel对于Excel中日期和时间类型的处理
php Spreadsheet Csv,使用 PhpSpreadsheet 实现读取写入 Execl「建议收藏」
这两天需要做一个支持读写微软办公软件的功能模块.最底下会说下自己下一步的想法,我先找了PhpSpreadheet这个第三方的扩展包,功能很完善,是一个纯PHP编写的库,看了官方文档,目前支持XLS,XML,XLSX,ODS,SLK,Gnumeric,CSV以及HTML.
全栈程序员站长
2022/09/29
3.3K0
php Spreadsheet Csv,使用 PhpSpreadsheet 实现读取写入 Execl「建议收藏」
php导出excel表格_phpspreadsheet导出
单个sheet页Excel2003版最大行数是65536行。Excel2007开始的版本最大行数是1048576行。Excel2003的最大列数是256列,2007以上版本是16384列。
全栈程序员站长
2022/09/30
24.3K1
php导出excel表格_phpspreadsheet导出
PhpSpreadsheet读取excel「建议收藏」
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/30
1.5K0
PhpSpreadsheet读取excel「建议收藏」
PhpSpreadsheet_php标准输入流stdin
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/30
6890
[CodeIgniter4]phpspreadsheet的使用
https://phpspreadsheet.readthedocs.io/en/latest/
landv
2020/03/13
1.7K1
相关推荐
phpspreadsheet使用实例_php获取html中文本框内容
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验