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 ...
随机推荐
- STM32之旅4——USART
STM32之旅4--USART 串口也是用的比较多的,在STM32CubeMX中生成代码后,需要添加一些代码才可以用. drv_usart.h: #ifndef __DRV_USART_H #defi ...
- 远程触发Jenkins的Pipeline任务
场景 虽然能配置提交代码时触发Jenkins任务,但有时并不需要每次提交代码都触发,而是仅在有需要时才执行. 除了在Jenkins页面上手动执行任务,还可以向Jenkins网站发起HTTP请求,触发指 ...
- IGBT以及MOSFET驱动参数的计算方法
- MySQL - 常用三种数据库存储引擎
数据库存储引擎:是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建.查询.更新和删除数据.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能,使用不同的存储引擎,还可以获得特 ...
- 多测师讲解python_模块间的调用_高级讲师肖sir
案例1: 在aaa.py 文件A类中定义一个函数sadp: 在bbb.py文件中导入aaa模块,导入类 ,调用函数 案例2: aaa模块中定义一个A类, 在定义一个sadp的函数, 在bbb模块中导 ...
- Android开发签名证书的生成
现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕!我这边专门针对Android开发工程师整理了一套[Android进阶学习视频].[全套Android面试秘籍].[Android知识点PDF] ...
- 为什么说switch比if快
C++的switch语法 在C++中,switch只接受整型常量作为分支的值: switch (expr) { case integral-constant : \\... break; case i ...
- 【UR #13】Yist
UOJ小清新题表 题目摘要 UOJ链接 给出一个排列 \(A\) 以及它的一个非空子序列 \(B\),给出一个 \(x\) 并进行若干次操作,每一次操作需要在 \(A\) 中选择一个长度恰好为 \(x ...
- k8s node上查看节点
node执行 mkdir -p /root/.kube master执行 scp admin.conf node1:/root/.kube/config
- centos8安装zookeeper(单机方式)
一,下载zookeeper: 1,官网地址 http://zookeeper.apache.org/ 找到这个地址: https://mirrors.tuna.tsinghua.edu.cn/apac ...