测试分页查询出数据并分文件导出[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 ...
随机推荐
- python INFO: Can't locate Tcl/Tk libs and/or headers
安装opencv的时候遇到这个错误: python INFO: Can't locate Tcl/Tk libs and/or headers 参考如下文章解决这个问题: http://www.ver ...
- Python科学计算环境推荐——Anaconda
最近在用Python做中文自然语言处理.使用的IDE是PyCharm.PyCharm确实是Python开发之首选,但用于科学计算方面,还略有欠缺.为此我尝试过Enthought Canopy,但Can ...
- CentOS 6.5升级Python2.7
1.下载并解压Python2.7的源码. . 2.编译与安装Python2.7. ./configure --prefix=/usr/local make && make altins ...
- Arrays.asList()使用注意点
今天看代码时, 发现书上使用了Arrays.asList()方法, 将一个数组转成了List, 然后说到得到的List不能调用add(), remove()方法添加元素或者删除,带着疑问看了下内部实现 ...
- noip2011提高组day1+day2解题报告
Day1 T1铺地毯https://www.luogu.org/problem/show?pid=1003 [题目分析] 全部读入以后从最后一个往前找,找到一个矩形的范围覆盖了这个点,那这个矩形就是最 ...
- HDU 1004 Let the Balloon Rise map
Let the Balloon Rise Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Oth ...
- Python 正则表达式指南 zz
zz http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html 1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一 ...
- Create,Insert
创建表 create table people ( id int ,name ) ) create table toys ( id int ,name ) ,people_id int ) CREAT ...
- CANopen笔记1
CAN现场总线只定义了OSI网络模型的第一层(物理层) 和第二层(数据链路层) ,而这两层一般已被CAN硬件完全实现了.由于没有规定应用层,本身并不完整,需要一个高层协议来定义CAN报文中的11/29 ...
- .NET在后置代码中输入JS提示语句(背景不会变白)
来源:http://niunan.iteye.com/blog/248256 Page.ClientScript.RegisterStartupScript(Page.GetType(), " ...