Laravel读取Excel
-
1. 下载依赖:https://github.com/PHPOffice/PHPExcel ;
或使用命令安装:
composer require phpoffice/phpexcel
2. 下载完成后,将PHPExcel文件夹放在laravel的vendor目录下;
更改支持PHP7.3语法:
将continue改成break
3. 在你需要使用的控制器引用:
use PHPExcel_IOFactory;
use PHPExcel;
4. 例子:读取Excel:
封装(为了防止Class 'PHPExcel_IOFactory' not found 报错,以下使用两种引入):
<?php
namespace App\Http\Kit;use PHPExcel_IOFactory;
use PHPExcel;use Exception;if (is_file(path_info()['base_path'].'/vendor/phpexcel/PHPExcel-1.8/Classes/PHPExcel/IOFactory.php')){require_once path_info()['base_path'].'/vendor/phpexcel/PHPExcel-1.8/Classes/PHPExcel/IOFactory.php';
}else{exit('文件不存在。');
}class Excel {// 读取excel// 最多只能读10w+1行// $excel_file是excel文件的绝对路径;$start_row是起始行,默认2;$end_row是截至行,默认最大行public function excel_to_array($excel_file=null, $start_row = null, $end_row = null){$test_data = ['excel_file'=> $excel_file,'start_row'=> $start_row,'end_row'=> $end_row,];if (!$excel_file){$state = 0;$msg = 'Excel路径参数不全';$content = [];}else{//加载excel文件$filename = $excel_file;$objPHPExcelReader = PHPExcel_IOFactory::load($filename);$sheet = $objPHPExcelReader->getSheet(0); // 读取第一个工作表(编号从 0 开始,sheet)if (!$end_row){$highestRow = $sheet->getHighestRow(); // 取得最大行数}else{$highestRow = $end_row;}$highestColumn = $sheet->getHighestColumn(); // 取得最大列数if ($highestColumn > 100001){$state = 0;$msg = '最大行数100001行,如有超过,请切割文件';$content = [];}else{$arr = ['A','B','C','D','E','F','G','H','I','J','K','L','M', 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z']; // 目标列标号if (!$start_row){ // 默认从第二行读$start_row = 2;}$res_arr = [];for ($row = $start_row; $row <= $highestRow; $row++) { // 一次读取一列$row_arr = [];for ($column = 0; $arr[$column] != 'F'; $column++) {$val = $sheet->getCellByColumnAndRow($column, $row)->getValue();$row_arr[] = $val;}$res_arr[] = $row_arr;}$state = 1;$msg = 'Excel读取完成';$content = $res_arr;}}return ['state'=> $state,'msg'=> $msg,'test_data'=> $test_data,'content'=> $content,];}public function __call($func_name, $args){$txt = "class:".__CLASS__." ,函数不存在:$func_name ,参数:$args ";exit($txt);}}
调用excel_to_array($excel_file)即可,例如:
$excel_file = '/home/wwwroot/default/xxxxxx/vendor/phpexcel/Excel/1.xlsx';
$array = $excel->excel_to_array($excel_file);
var_dump($array);
结果:
-
-
Laravel读取Excel相关推荐
- php无法查询excel数据,laravel phpexcel无法读取excel中中文表头列数据
在使用Laravel中的phpexcel读取文件时,碰到一个问题: 代码: Excel::load($file, function ($reader) { $results = $reader-> ...
- Laravel的excel读取表格内存溢出解决方案
技术栈:php laravel maatwebsite/excel 问题描述 :用户上传excel表格,php程序读取表格数据,由于表格不规范出现大量空行数据(列和行都存在同样的问题),导致读取表格数 ...
- python 读excel中的sheet_python读取excel文件中所有sheet表格
sales: store: """ (1)用load_workbook函数打开excel文件,返回一个工作簿对象 (2)用工作簿对象获取所有的sheet (3)第一个fo ...
- Python xlrd 读取excel表格 常用用法整理
xlrd 的使用 #!/usr/bin/python# # -*- coding: utf-8 -*- import xlrd import sys reload(sys) sys.setdefaul ...
- python 读取excel 内的中文显示为unicode 编码
测试的excel 显示如下 读取excel 打印的效果如下 现在想显示为中文 处理代码如下 #!/usr/bin/python# # -*- coding: utf-8 -*- import xlrd ...
- php把excel变成数组,PHP excel读取excel文件转换为数组
/* 备注:先去下载PHP EXCEL--http://download-codeplex.sec.s-msft.com/Download/Release?ProjectName=phpexcel&a ...
- php生成表格和读取,phpexcelreader读取excel自动生成表跟字段
phpexcelreader读取excel自动生成表和字段 这个主要是采用phpexcelreader的功能实现,根据excel的文件名和excel第一行生成表名及字段,数据从第二行开始依次导入. p ...
- python 读取excel文件 效率 时间 格式_python读取Excel文件中的时间数据
在使用python读取Excel文件中的时间格式,碰到的时间格式转换问题: 读取这样的表格: 输出这样的数据结果: 然而这样的结果却不是我们想要的,我们需要的是这样的结果: 1.安装python官方库 ...
- python xlrd读取excel所有数据_python读取excel进行遍历/xlrd模块操作
我就废话不多说了,大家还是直接看代码吧~ #!/usr/bin/env python # -*- coding: utf-8 -*- import csv import xlrd import xlw ...
最新文章
- App 上传遇到问题
- netty初探(2)
- 哪些是Linux内核的同步机制,Linux内核的同步机制(1)
- zabbix在ubuntu16.04上的安装
- cocos2d-x帧动画实现(续)
- MongoDB 的命令操作
- dubbo分布式服务子系统的划分
- 读后感——《构建之法》第1.2.3章
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_7_字节输出流的续写和换行...
- 关于np.meshgrid
- AcWing 177. 噩梦(双向BFS)
- 查找数组最大值五种方式
- CSS 让元素内子元素翻转排序
- 第十六届中国研究生电子设计竞赛记录
- 当前佛教界的乱相之一就是以凡滥圣、惑乱人心
- 判断网站被降权的方法
- GitHub 代码托管平台提交代码时 emoji 表情的使用
- STM32中的串口通信的基础知识
- 白月黑羽教python之selenium:课后练习作业一
- 亚稳态与信号跨时钟域介绍
热门文章
- 莫言遭遇获奖烦恼-传闻缠身疲于应付采访-莫言-诺贝尔文学奖-采访
- 【贪玩巴斯】带你学:C++ tips ——知识点:string::npos 用法详细解析 , 看这一篇就够了 2021年12月21日
- 如何快速判断优质代理IP?
- OpenSSL密码库算法笔记——第5.4.1章 椭圆曲线上点的仿射坐标表示
- java将jlist设置为只能单选,【判断题】JList可以实现列表框功能。
A. 正确
B. 错误...
- 打开jupyter notebook
- DotNetty完全教程(十)
- 百度地图鼠标滑过marker时打开自定义信息窗口
- SVN版本服务器搭配全过程详解(含服务端、客户端)
- mysql any、some和all的用法