excel操作手记
csv操作
1 2 | $fp = fopen($filePath, 'a+' ); fputcsv($fp, [ 'a' => 'a' , 'b' => 'b' ]); |
问题:Excel 已经检测到"xxx.xsl"是SYLK文件,但是不能将其加载解决方法
解决:如果将ID中的任意字母换成小写都不会出现此问题,估计是固定的识别“ID”或“ID_XXXX”
maatwebsite/excel 扩展
https://github.com/maatwebsite/Laravel-Excel
https://segmentfault.com/a/1190000014734174?utm_source=index-hottest
引入服务
1 | $app->register(\Maatwebsite\Excel\ExcelServiceProvider:: class ); |
定义类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | use Maatwebsite\Excel\Concerns\FromCollection; use Maatwebsite\Excel\Concerns\WithHeadings; class logExcelExport implements FromCollection, WithHeadings { public $data; public function __construct($data) { $ this ->data = collect($data); } public function collection() { return $ this ->data; } public function headings(): array { return [ 'ID' , '标识' , '备注' , '创建时间' , '更新时间' , ]; } } |
调用
1 | Excel::store( new logExcelExport($data), $filePath); |
新3.1.25版本支持导入功能
1 | Excel::toArray($import, $path); |
可能会遇到
mkdir(): No such file or directory
https://github.com/Maatwebsite/Laravel-Excel/issues/3011
是由于lumen和laravel不同,需要在storage下手动创建framework文件夹
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!