Skip to content
官方QQ交流群
技术交流1:87208295   点此加入
技术交流2:787747122   点此加入
官网
云控制台
开放平台
关注微信公众号
代码仓库: 码云

php扩展excel

php的excel组件

  • PHPExcel(不在维护)
  • maatwebsite/excel
  • PhpOffice/PhpSpreadsheet
  • xlswriter(推荐)

xlswriter(推荐)

仓库:https://gitee.com/viest/php-ext-xlswriter/
手册:https://gitee.com/viest/php-ext-xlswriter/wiki/
手册:https://xlswriter-docs.viest.me/zh-cn

其他参考

https://www.cnblogs.com/shiwenhu/p/12655708.html

常见问题

[重要] 不支持xls 2003格式

1、不支持xls 2003格式
2、导出来的excel需要,打开后,重新转换成2007.xlsx的格式

数字格式

https://www.wenjiangs.com/doc/g5lpoikj
https://blog.csdn.net/qq_36373262/article/details/121351298

日期问题

USE PhpOffice\PhpSpreadsheet\Shared\Data;	
// 转换日期
$row['insure_date'] = Date('Y-m-d', Date::excelToTimestamp($row['insure_date']));
USE PhpOffice\PhpSpreadsheet\Shared\Data;	
// 转换日期
$row['insure_date'] = Date('Y-m-d', Date::excelToTimestamp($row['insure_date']));

excel 日期mysql 转换

sql

UPDATE my_table_name
SET order_add_date = FROM_UNIXTIME(
		( order_add_date - 25569 ) * 24 * 3600 * ( 1 - 0.0000174346112151665200 ),
		'%Y-%m-%d %H:%i:%s' 
	) 
WHERE
	1 = 1 
	AND ( order_add_date REGEXP '[^0-9.]' ) = 0

UPDATE my_table_name
SET order_add_date = FROM_UNIXTIME(
		( order_add_date - 25569 ) * 24 * 3600 * ( 1 - 0.0000174346112151665200 ),
		'%Y-%m-%d %H:%i:%s' 
	) 
WHERE
	1 = 1 
	AND ( order_add_date REGEXP '[^0-9.]' ) = 0

Copyright © 2017 10yun.com | 十云提供计算服务-IPV6 | ctocode组开发