php倒入百万行excel数据,PHP导入(百万级)Excel表格数据
PHP导入excel数据
简介
excel插件导入实现
存在的问题
mysql load data infile
总结
简介
但我们使用PHP框架进行项目开发的时候,难免会遇到一些数据导入的需求,比如后台导入用户,导入订单数据等等,通常解决方案都是compose引入excel插件,先将文件上传到服务器,将文件中的数据读取到内存中,再插入数据表中。
excel插件导入实现
1、我们以laravel5.5框架为例
a、首先在更目录下安装excel插件:
composer require “maatwebsite/excel:~2.1.0”
b、在config/app.php中注册服务提供者到provides数组:
Maatwebsite\Excel\ExcelServiceProvider::class
c、在config/app.php中注册到aliases数组:
‘Excel’ => Maatwebsite\Excel\Facades\Excel::class,
d、生成Laravel excel的配置文件:
php artisan vendor:publish --provider=“Maatwebsite\Excel\ExcelServiceProvider”
e、控制器代码实现
public function import(Request $req){
try {
//获取上传的excel文件
$filePath = $req->get('report');
Excel::load($filePath, function($reader) {
$data = $reader->all();
//批量存储
//返回导入结果
throw new Exception("成功导入了".$count."条数据");
});
}catch(Exception $e){
return $this->doFailure($e);
}
}
存在的问题
当excel表格的数据量过大时,会很消耗内存,有可能导致内存溢,因而当导入数据量比较大的数据时可用以下方案:
mysql load data infile
a、首先同样要把需要导入的文件上传至服务器,而且文件格式最好是csv,TXT,.sql的格式
b、通过shell脚本发方式执行登录数据库以及导入操作
#!/bin/bash
#!/bin/bash
mysql -uroot -p123456 <
c、这时只需在controller中待文件上传完成通过php的system函数执行以上脚本即可
system("cd /脚本位置 && sh ./import.sh",$result);
d、这时可查看数据是否导入成功
总结
可以说mysql load data infile 是秒级响应,而当你用excel插件去导入的时候,发现会等待一段时间,所以看具体需求,如果需要导入的数据量足够大的话可以考虑使用第二种方式进行,当数据量不大时可以使用excel,要注意的是xlxs的格式需要转化成csv的格式。
php倒入百万行excel数据,PHP导入(百万级)Excel表格数据相关推荐
- PHP导入(百万级)Excel表格数据
PHP导入excel数据 简介 excel插件导入实现 存在的问题 mysql load data infile 总结 简介 但我们使用PHP框架进行项目开发的时候,难免会遇到一些数据导入的需求,比如 ...
- 高性能 + 百万级excel数据导入导出
高性能 + 百万级excel数据导入导出 内容介绍 github地址 使用文档地址 安装注意事项 仅以mac举例 ide中提示相关代码 下载demo 内容介绍 [转载]https://learnku. ...
- R—读取数据(导入csv,txt,excel文件)
R-读取数据(导入csv,txt,excel文件) 转自:http://www.cnblogs.com/zhangduo/p/4440314.html 导入CSV.TXT文件 read.table函数 ...
- 百万数据php7取出循环_用php处理百万级以上的数据
用php处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描, ...
- lambda 查询大量数据速度很慢_处理百万级以上的数据提高查询速度的方法
处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考 ...
- R语言使用gt包和gtExtras包优雅地、漂亮地显示表格数据:使用gt包可视化表格数据,使其易于阅读和理解、使用gtExtras包添加一个图,显示表中某一列中的数字
R语言使用gt包和gtExtras包优雅地.漂亮地显示表格数据:使用gt包可视化表格数据,使其易于阅读和理解.使用gtExtras包添加一个图,显示表中某一列中的数字 目录
- R语言使用gt包和gtExtras包优雅地、漂亮地显示表格数据:使用gt包可视化表格数据,使其易于阅读和理解、使用gtExtras包添加一个图,显示表中某一列中的数字、并为类型数据添加图像符号标签
R语言使用gt包和gtExtras包优雅地.漂亮地显示表格数据:使用gt包可视化表格数据,使其易于阅读和理解.使用gtExtras包添加一个图,显示表中某一列中的数字.并为类型数据添加图像符号标签 目 ...
- lambda 查询大量数据速度很慢_处理百万级以上的数据提高查询速度的方法:
处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考 ...
- python导入excel数据-Python导入数值型Excel数据并生成矩阵操作
riginal_Data 因为程序是为了实现对纯数值型Excel文档进行导入并生成矩阵,因此有必要对第五列文本值进行删除处理. Import_Data import numpy as np impor ...
- 百万excel导入mysql_百万级xlsx表格导入数据库的实现方案
需求是这样的,供应商给到一份 xlsx 表格(144MB),里面刚好有 100w 行数据(11列).我需要把它们稍作处理后写入到 mysql 数据库 项目基于 Laravel,既然需要稍作处理,那我首 ...
最新文章
- 简析平衡树(三)——浅谈Splay
- 以演进式的架构来让系统为变化做好准备
- BZOJ1449[JSOI2009]球队收益BZOJ2895球队预算——最小费用最大流
- 混合云:公共云和私有云之间取得平衡的方式?
- TailwindCSS v3.0 正式发布!一大波新特性来袭!
- php chr 乱码,php chr() ord()中文截取乱码问题解决方法_PHP教程
- Hive 建表语句详解
- 重心法选址迭代matlab,配送中心重心法选址的研究
- 解决黑苹果睡眠唤醒后立马死机(AppleHDAHDMI_DPDriver)
- 互联网大佬生存法则:如何防守周鸿祎?
- TCP—为什么是AIMD?
- 微信小程序地图实现标记多个位置
- Unity用户手册-IL2CPP
- springCloud之Netflix完整学习
- ArcSDE之SDE命令
- 用vue开发一个猫眼电影web app
- 服务器pe启动不了系统,云服务器PE启动
- linux常见的虚拟化技术
- 迁移学习之快速实现【文本分类】
- dell g3安装ubuntu18.10后登录进去屏幕卡住只有鼠标可移动
热门文章
- Jquery+flash在线图片裁剪
- 极限数学计算机在线使用,健身最大重复次数(RM)在线计算器
- 音乐播放器app android,mp3音乐播放器
- 微信小程序中相机api_微信小程序调用内置照相机实现拍照及图片上传
- 大数据与云计算概论简介
- PPT封面怎样设计才更赏心悦目
- 《赖氏经典英语语法》第二集
- Android网络框架情景分析之NetworkManagementService和Netd交互深入分析二
- Outlook的服务器设置中POP3协议,在outlook的服务器设置中pop3协议是指什么
- Mybatis事务管理SqlSession