php 导出excel 10万数据
php导出excel 10万数据(此代码主要测试用)
在工作当中要对一些基本信息和其他信息导出
起初信息比较小无所谓。。。。
但当信息超出65535的时候
发现点问题了 超出了 而且 反应速度很慢
实现思路:
分页导出
伪代码:
1、获取总数据,并确定显示多少条数据(我这里显示2万)
2、循环页数
2.1 从1开始,获取当前页面偏移量[(当前页-1)*显示的数据条数]
2.2 根据偏移量显示2万条数据
2.3 选择和创建excel页码
2.4 设置excel基本数据
2.5 循环导出数据并填充到excel中
3、数据下载
public function ceshi()
{
//总记录数
$result=$this->db->count_all_results('nb_specialty');
//每次导出20000条记录
$limit=20000;
//获取需要的总文件数
$excel_count=ceil($result/$limit);
$objPHPExcel = new PHPExcel();
//循环导出
//$i 文件一
for($i=1;$i<=$excel_count;$i++)
{
//获取偏移数据
$startSelect=($i-1)*$limit;
if($i==1)
{
$objPHPExcel->setActiveSheetIndex($i-1);
}else{
$objPHPExcel->createSheet();
$objPHPExcel->setActiveSheetIndex($i-1);
}
$result_array=$this->db->limit($limit,$startSelect)->get('nb_specialty')->result_array();
//echo $this->db->last_query();
$objPHPExcel->getActiveSheet()->setTitle('培养方案 -- 项目');
$objPHPExcel -> setActiveSheetIndex($i-1)
-> setCellValue('A1', '测试');
foreach($result_array as $key=>$val)
{
$objPHPExcel->getActiveSheet()->setCellValue('A'.$key, $val['id']);
}
}
header('pragma:public');
header('Content-type:application/vnd.ms-excel;charset=utf-8;name="测试.xls"');
header("Content-Disposition:attachment;filename=测试.xls");//attachment新窗口打印inline本窗口打印
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save('php://output');
}
php 导出excel 10万数据的更多相关文章
- Java利用POI导入导出Excel中的数据
首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地 ...
- C#弹出窗体、C#导出Excel、C#数据展示框、C#弹出框
1.new 一个窗体,然后设置窗体属性. 2.添加数据展示控件,显示数据. 3.添加按钮控件,调用导出Excel代码,实现导出Excel功能. using System; using System.C ...
- 导出EXCEL(带数据)
/* * 导出EXCEL * @param req * @param resp * @param model * @param info * @return */ @RequestMapping(va ...
- thinkphp导入导出excel表单数据
在PHP项目经常要导入导出Excel表单. 先去下载PHPExcel类库文件,放到相应位置. 我在thinkphp框架中的位置为ThinkPHP/Library/Org/Util/ 导入 在页面上传e ...
- C#导入导出Excel表的数据
一:C#导入导出EXCEL文件的类 代码如下: 首先将Microsoft Excel 14.0 Object Library 引用导入 using System; using System.Data; ...
- 使用NPOI导入导出Excel(xls/xlsx)数据到DataTable中
using System; using System.Collections.Generic; using System.Text; using System.IO; using NPOI.SS.Us ...
- poi导出excel,表头数据动态拼装
/* * 第一步:拼装表头和数据 */ // 放多个sheet的集合 List<Map<String,Object>> datas = new ArrayList<Map ...
- winfrom 使用NPOI导入导出Excel(xls/xlsx)数据到DataTable中
1.通过NUGET管理器下载nopi,在引入命令空间 using System; using System.Collections.Generic; using System.Text; using ...
- .net core Json字符串的序列化和反序列化通用类源码,并模拟了10万数据对比DataContractJsonSerializer和Newtonsoft性能
我们在开发中Json传输数据日益普遍,有很多关于Json字符串的序列化和反序列化的文章大多都告诉你怎么用,但是却不会告诉你用什么更高效.因为有太多选择,人们往往会陷入选择难题. 相比.NET Fram ...
随机推荐
- uni-app引入iconfont字体图标
1 首先进入你的iconfont项目 很好, 看见圈圈的吗 , 我说蓝色的,记住了,选到这个 ,然后点击下载本地项目, 解压完就是这个了 ,然后把 圈起来的放到你的项目文件里面 ,记得引入的时候路径别 ...
- randomatic
下载 randomaticrandomatic 使用简单的字符序列生成指定长度的随机字符串.原generate-password. 请考虑下面这个项目的作者,Jon Schlinkert主演的,考虑项 ...
- Linux软件漏洞-1
RHSA-2018:3107-中危: wpa_supplicant 安全和BUG修复更新 漏洞编号:CVE-2018-14526 漏洞公告:wpa_supplicant中未经身份验证的EAPOL-Ke ...
- es使用--新建、删除、增删改数据
# 进入bin目录 cd /czz/elsearch/bin # 后台启动(不加-d参数则是前台启动,日志在控制台) # 后台启动日志如果不配置,在es目录的logs下面 ./elasticsearc ...
- redis哨兵搭建
redis哨兵搭建 1.复制配置文件到conf #单机安装以后[root@t3 redis-5.0.8]# pwd/app/redis-5.0.8[root@t3 redis-5.0.8]# cp s ...
- linux块设备驱动---相关结构体(转)
上回最后面介绍了相关数据结构,下面再详细介绍 块设备对象结构 block_device 内核用结构block_device实例代表一个块设备对象,如:整个硬盘或特定分区.如果该结构代表一个分区,则其成 ...
- 【自学编程】C语言编程简单的小程序,计算长方体体积!
计算长方体体积 有朋友会说长方体体积还不好算吗?长X宽X高.没错用计算器一下就可以出结果,编程反而麻烦些,但是我们说的是这种思维,如果复杂的重复运算的话写好程序就非常简单了. 简单运算下一个固定高度的 ...
- Windows 上的苹果 mac Time Machine 时间机器免费替代品 FreeFileSync 操作指南
Windows 上的苹果 mac Time Machine 时间机器免费替代品 FreeFileSync 操作指南 前言:为什么不用 Windows 10 自带的备份还原呢?因为不稳定,不能很好的备份 ...
- 初识 MongoDB 和 .NET Core 入门
昨天搭建完毕 MongoDB 集群 后,开始计划了解 MongoDB ,并引入使用场景,这里介绍一下学习过程中的一些笔记,帮助读者快速了解 MongoDB 并使用 C# 对其进行编码. 浅入 Mong ...
- Zookeeper入门看这篇就够了
https://blog.csdn.net/java_66666/article/details/81015302