php导出超过30W的大数据量excel表格,快速完成,测试20秒内
最近一个功能需要导出到excel中,但是使用phpexcel特别慢,30W起码半个小时。最后尝试用fputcsv
去导出csv发现非常之快,30W数据只要10几秒。不过只能导出一般格式数据,如有合并单元格,设置多sheet
,确是无能为力,不过提升的速度是非常之大。
public function ce(){error_reporting(E_ALL);ini_set('display_errors', TRUE);ini_set('display_startup_errors', TRUE);ini_set("memory_limit", "2048M");set_time_limit(0);$dbs = DB::connection('mysql_online')->select('SELECT hwid,charge,valid,voltage,from_unixtime(client_time,"%Y-%m-%d %H:%i:%S") AS start ,from_unixtime(server_time,"%Y-%m-%d %H:%i:%S") as end FROM tb_logs_bp LIMIT 300000');// $dbs = Logbp::all();$cellData=[];header('Content-Description: File Transfer');header('Content-Type: application/vnd.ms-excel');header('Content-Disposition: attachment; filename="'. $filename .'"');header('Expires: 0');header('Cache-Control: must-revalidate');header('Pragma: public');$fp = fopen('php://output', 'a');//打开output流foreach ($dbs as $db){$db->charge= $this->checkcharge($db->charge);$db->valid = $this->checkvalid($db->valid);$db->voltage = $db->voltage/10;$data=[$db->hwid,$db->charge,$db->valid,$db->voltage,$db->start,$db->end];mb_convert_variables('GBK', 'UTF-8', $data);fputcsv($fp, $data);}unset($dbs);ob_flush();flush();fclose($fp);exit();}
注意不能使用 ajax的方式去请求,会导致不能够下载,要需要url请求的方式去请求例如:
$('#do_excel').click(function () {var order_id = $('#order_id').val()var date =$('#date').val()var url = '{{route('hwtc.excel.get_table')}}' + '?order_id=' + order_id+'&date='+datelocation.href = url;})
php导出超过30W的大数据量excel表格,快速完成,测试20秒内相关推荐
- POI3.8解决导出大数据量excel文件时内存溢出的问题
POI3.8解决导出大数据量excel文件时内存溢出的问题 参考文章: (1)POI3.8解决导出大数据量excel文件时内存溢出的问题 (2)https://www.cnblogs.com/feng ...
- Laravel 使用PHP_XLSXWriter实现大数据量Excel导出
我在去年写过一篇关于laravel的Excel导出文章:Laravel Excel 实现 Excel/CSV 文件导入导出功能,使用的是Laravel Excel实现的. 该扩展包含Excel导入导出 ...
- Java操作大数据量Excel导入导出万能工具类(完整版)
Java操作大数据量Excel导入导出万能工具类(完整版) 转载自:https://blog.csdn.net/JavaWebRookie/article/details/80843653 更新日志: ...
- 大数据量Excel Import导致OOM问题
http://www.iteye.com/topic/199061 正在做一个Excel import的东东,不知道论坛上用POI的朋友有没有考虑过大数据量Excel文件导入导致内存溢出的问题 HSS ...
- SAP ABAP 使用 ALSM_EXCEL_TO_INTERNAL_TABLE 批导/上载大数据量 Excel (2)
SAP ABAP 使用 ALSM_EXCEL_TO_INTERNAL_TABLE 批导/上载大数据量 Excel (2) 引言: 今时不同往日了,特别是在电商和零售行业中,动不动一个导入的 Excel ...
- SAP ABAP 探索 CL_FDT_XL_SPREADSHEET 读取大数据量 Excel 的可能性
SAP ABAP 探索 CL_FDT_XL_SPREADSHEET 读取大数据量 Excel 的可能性 引言: 今时不同往日了,特别是在电商和零售行业中,动不动一个导入的 Excel 就有几十万行几十 ...
- 对大数据量Excel文件自动排版、转换成PDF用于印刷出版
excel排版大师 下载 http://pan.baidu.com/s/1eQnY0hW 2015.3. 目录 一.主要功能 2 二.系统需求 3 三.文件名要求 3 四.目录说明: 4 1.Exc ...
- 【Oracle EBS】解决大数据量Excel报表打开缓慢问题
1.问题描述: Oracle EBS 使用XML/EXCEL模板进行报表开发,遇到大数据量时,生成的EXCEL文件通常有几百M,打开十分缓慢. 2.解决方案: 通过ORACLE标准excel文件生成工 ...
- Excel大数据量单元格快速填充
个人简介:一个从会计转行数据分析师的三旬老汉 擅长领域:数据分析.数据仓库.大数据 博客内容:平时会将自己工作中遇到的问题进行归纳总结,分享给各位小伙伴,意在帮助大家少加班.不掉发,让我们相互学习,一 ...
最新文章
- 【深度学习】详解Resampling和softmax模型集成
- ImageLoader displayers 之CircleBitmapDisplayer
- javaEE 飞机大战
- 一维的Haar小波变换
- asp.net mvc项目实例_降龙-第13章:MVC开发准备
- 编写五子棋的完整python代码_python实现五子棋游戏
- CMMI与Agile敏捷开发比较之二:需求管理篇(兼谈用敏捷实现和满足CMMI的ReqM过程域)...
- 【王道操作系统笔记】操作系统的运行机制和体系结构
- 数据集获取方式和数据加强方式
- 【编程算法】跳跃游戏ⅠⅡⅢ(Python解法)
- 56个民族静态字典代码创建sql语句
- linux 文件名 自动补全,用Linux自动补全怎么补全命令?
- 苦涩的 高考完了,有没有给自己一个目标
- 认识电信产品生命周期管理PLM及其PLM服务
- 1602液晶显示屏工作原理引脚电路图51单片机
- 【C/C++笔记】 C/C++常见问题笔记 1
- Unity 水墨风格Shader
- 【注意力机制】BAM: Bottleneck Attention Module论文理解
- 使用Microsoft.Office.Interop.Excel批量编辑Excel文件
- java+jna+DD实现全局键鼠驱动级模拟
热门文章
- 利用AST对抗js混淆(一) 基础知识
- 计算机自带的音乐剪辑怎么打开,音乐剪切器怎么使用,音乐剪切器使用教程
- avi视频怎么转mp4格式?
- Android仿知乎图片墙
- FlashCS3视频教程
- 从DDPM到GLIDE:基于扩散模型的图像生成算法进展
- 监考安排系统java代码_基于jsp的监考安排与查询-JavaEE实现监考安排与查询 - java项目源码...
- 小满nestjs(第九章 nestjs Session)
- 简述神经传导的电学原理,神经网络理论及其应用
- Pycharm最强编辑器详细使用指南!