测试分页查询出数据并分文件导出[java工程]
package cn.shiyanjun.test; import java.util.ArrayList;
import java.util.List; public class ExcelTest3 {
List<Integer> rowData = getRowData(17);
public static void main(String[] args) {
ExcelTest3 excelTest3 = new ExcelTest3();
excelTest3.exportExcelTest();
} // ==================================================================================================
public void exportExcelTest() {
int dataCount = rowData.size();//数据总数59
int exNum = 6;//每个文件导出数
int qryNum = 8;//已知查询数
int qryCount = getCount(dataCount,qryNum);
int end = 1;
int fileNum = 0;
List<Integer> list = new ArrayList<Integer>(); for (int i = 0; i < qryCount; i++) {
List<Integer> beanList = new ArrayList<Integer>();
if(i != (qryCount - 1)){//如果不是最后一次查询
beanList = queryForPage(i*qryNum, (i+1)*qryNum);//一次查8条
}else{
beanList = rowData.subList(i*qryNum, dataCount);
}
for (int j = 0; j < beanList.size(); j++) {//遍历这8条数据
list.add(beanList.get(j));
if(list.size() == exNum || (end ==qryCount && j == beanList.size() -1 )){
System.out.println((fileNum+1) + ".xls");//创建文件
System.out.println("导出"+list.size()+"条数据:"+list);
list.clear();
fileNum++;
}
}
end++;
} } public List<Integer> queryForPage(int startIndex, int pageSize){
List<Integer> pageData = rowData.subList(startIndex, pageSize);
return pageData;
} //根据count和rows来计算个数
public int getCount(int count, int rows) {
int num = 1;
if(count >= rows){
if(count % rows == 0){
num = count/rows;
}else{
num = count/rows + 1;
}
}
return num;
} //创建一个包含若干2位随机整数的list集合
public List<Integer> getRowData(int count){
List<Integer> list = new ArrayList<Integer>();
for(int i = 0; i < count; i++){
// int num = (int) Math.round(Math.random()*90+10);
list.add(i);
}
return list;
} public void printExcelApi(List<Integer> exList, List<Integer> list){
exList.addAll(list);
} }
测试分页查询出数据并分文件导出[java工程]的更多相关文章
- 根据wsdl文件,Java工程自动生成webservice客户端调用
根据wsdl文件,Java工程自动生成webservice客户端调用 1,工具:带有webservice插件的myeclips 2,步骤: (1),新建一个Java工程:relationship (2 ...
- MySQL分页查询大数据量优化方法
方法1: 直接使用数据库提供的SQL语句 语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N适应场景: 适用于数据量较少的情况(元组百/千级)原因/缺点: ...
- mysql 数据库 分表后 怎么进行分页查询?Mysql分库分表方案?
Mysql分库分表方案 1.为什么要分表: 当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间. m ...
- SQL Server数据库Union和Union All查询出数据的区别?
好久没有更新博客了,可能是最近比较忙,总是忽略了一些事情,今天查了做了一些数据分析的数据,突然感觉对Union和Union all有些不太理解了,可能是自己老了吧,就翻了一些资料,进行回忆和学习,趁着 ...
- Oracle 分页查询与数据去重
1.rownum字段 Oracle下select语句每个结果集中都有一个伪字段(伪列)rownum存在.rownum用来标识每条记录的行号,行号从1开始,每次递增1.rownum是虚拟的顺序值,前提是 ...
- Oracle分页查询排序数据重复问题
参考资料: http://docs.oracle.com/database/122/SQLRF/ROWNUM-Pseudocolumn.htm#SQLRF00255 http://blog.csdn. ...
- 【MySQL】MySQL中查询出数据表中存在重复的值list
1.目的:查询MySQL数据表中,重复记录的值 2.示例: 3.代码: select serial_num,count(*) as count FROM card_ticket GROUP BY se ...
- 借鉴+总结!! mysql 客户端命令行下 查询数据并生成文件导出
方式1:在mysql命令行环境下执行: sql语句+INTO OUTFILE +文件路径/文件名 +编码方式(可选) 例如: select * from user INTO OUTFILE '/ ...
- mongodb-导出数据到csv文件或json文件
在mongodb的bin目录下, 有一个mongoexport, 可用于数据的导出 [wenbronk@localhost bin]$ ./mongoexport --help Usage: mong ...
随机推荐
- Poj(2679),SPFA,二级比较
题目链接:http://poj.org/problem?id=2679 嗯,思路清晰,先DFS看是不是通路,接着就是SPFA找最短路(路是费用,费用相同就比较路的长度). 超哥的代码还有一点问题,初始 ...
- 2016年10月21日 星期五 --出埃及记 Exodus 19:5
2016年10月21日 星期五 --出埃及记 Exodus 19:5 Now if you obey me fully and keep my covenant, then out of all na ...
- 解决maven的“Dynamic Web Module 3.0 requires Java 1.6 or newer.”错误
需要添加一个插件,在build标签中添加 <plugins> <plugin> <groupId>org.apache.maven.plugins</grou ...
- dubbo源码之三——dubbo重构
dubbo版本:2.5.4 转自:http://javatar.iteye.com/blog/1041832
- 02scala基础
1.数组操作 1.定长数组:val nums = new Array[Int](10) val s=Array("tom","lisi") *在jvm中,Sca ...
- BASE64,MD5,SHA,HMAC加密與解密算法(java)
package com.ice.webos.util.security; import java.io.UnsupportedEncodingException; import java.math.B ...
- EI表达式和JSTL
JSP九大内置对象 WEB域内置对象(存值取值,传值数据用的) setAttribute/getAttribute; page 基本不用/ pageContext 只在本页面有效 ...
- Django serializers 序列化 rest_framework
参考官方文档1(你懂的):http://www.django-rest-framework.org/api-guide/serializers/ 参考官方文档2(你懂的):http://www.dja ...
- 插入中文错误ERROR 1406 (22001): Data too long for column 'name' at row 1
1.在导入数据前执行以下命令即可:set SESSION sql_mode=''; 通过设置sql_mode变量更改模式.linux下安装完mysql后,默认的sql-mode值是空,在这种情形下my ...
- [HDOJ5877]Weak Pair(DFS,线段树,离散化)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5877 题意:给一棵树和各点的权值a,求点对(u,v)个数,满足:1.u是v的祖先,2.a(u)*a(v ...