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 ...
随机推荐
- P4107 [HEOI2015]兔子与樱花 贪心
题目描述 传送门 分析 一道贪心题 首先我们可以证明最优的贡献一定是从下依次合并到上的 不会出现一个节点不能合并到父亲节点,却能合并到父亲节点的祖先节点的情况 我们设当前的节点为 \(u\),\(u\ ...
- Java 客户端操作 FastDFS 实现文件上传下载替换删除
FastDFS 的作者余庆先生已经为我们开发好了 Java 对应的 SDK.这里需要解释一下:作者余庆并没有及时更新最新的 Java SDK 至 Maven 中央仓库,目前中央仓库最新版仍旧是 1.2 ...
- 洛谷UVA524 素数环 Prime Ring Problem
标签:搜索与回溯 题目: 从1到20这20个数摆成一个环,要求相邻的两个数的和是一个素数. 算法分析: 非常明显,这是一道回溯的题目.从1开始,每个空位有20种可能,只要填进去的数合法:与前面的数不相 ...
- 2017年 实验五 B2B模拟实验
实验五 B2B模拟实验 [实验目的] ⑴.掌握B2B中供应商的供求信息发布.阿里商铺开设和订单交易等过程. ⑵.掌握B2B中采购商的采购信息的发布.交易洽谈.网上支付和收货等过程. [实验条件] ⑴ ...
- Mysql架构与内部模块-第一章
Mysql作为大多数中小型企业的首选数据库,也可能是众多同僚接触的第一个数据库,其热门程度不言而喻,一些相对基础的知识本系列不做赘述,主要简述Mysql相关的进阶知识. 本章将由浅入深的讲解从连接My ...
- day30 Pyhton 面向对象 反射
@property # 例1 - 1 (某一个属性如果是通过计算得来的,那么计算的过程写在方法里,把这个方法伪装成属性) from math import pi # class Circle: # d ...
- python xlrd读取Excel文件
1 import xlrd 2 3 #打开excel文件 4 book = xlrd.open_workbook('salary.xls') 5 6 #打印每个工作表的名称 7 for sheet i ...
- 【C语言学习笔记系列】C语言编程狼追兔子问题代码解析!
问题描述 一只兔子躲进了10个环形分布的洞中的一个.狼在第一个洞中没有找到兔子,就隔一个洞,到第3个洞去找:也没有找到,就隔2个洞,到第6个洞去找:以后每次多一个洞去找兔子--这样下去,如果一直找不到 ...
- centos8平台搭建mysql8数据库主从同步
一,两台服务器的规划 a服务器:主机名:yjweb ip: 121.122.123.47 角色:主库 server-id:1 j服务器:主机名: os3 ip: 121.122.123.134 角色: ...
- Linux用户和组管理命令-切换用户su
切换用户或以其他用户身份执行命令 su: 即 switch user,命令可以切换用户身份,并且以指定用户的身份执行命令 格式: su [options...] [-] [user [args...] ...