测试分页查询出数据并分文件导出[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 ...
随机推荐
- CyclicBarrier原理
转载:http://www.cnblogs.com/skywang12345/p/3533995.html CyclicBarrier是一个同步辅助类,允许一组线程互相等待,直到到达某个公共屏障点 ( ...
- 2016年10月31日 星期一 --出埃及记 Exodus 19:16
2016年10月31日 星期一 --出埃及记 Exodus 19:16 On the morning of the third day there was thunder and lightning, ...
- Intent官方教程(4)用Intent构造应用选择框
Forcing an app chooser When there is more than one app that responds to your implicit intent, the us ...
- Android 4.4之后删除短信进行处理
android 4.4删除短信 android 4.4之后非默认的短信应用已经没有办法删除短信了.像以前那样用如下方法是不会没法删除短信的(即使在xml中配置了短信的读写权限),同时也不会有报错或其他 ...
- CentOS6.6系统源代码安装mysql5.5.28教程(附源码包下载地址)+sysbench的安装
mysql从5.5版本开始,不再使用./configure编译,而是使用cmake编译器,具体的cmake编译参数可以参考mysql官网文档(※ 非常重要) http://dev.mysql.com/ ...
- Ajax实例
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs& ...
- 【转】JSP总结
day1 JSP 定义: 1)Java Server Page, Java EE 组件,本质上是 Servlet. 2)运行在 Web Container.接收 Http Reques ...
- FreeSWITCH 1.6关于视频通话的一些测试
简单的测试了一下,暂时没把精力放到这一块. ① 视频编码透传的设置(使用代理模式). 修改internal.xml文件的以下参数: <param name="inbound-proxy ...
- 再论EM算法的收敛性和K-Means的收敛性
标签(空格分隔): 机器学习 (最近被一波波的笔试+面试淹没了,但是在有两次面试时被问到了同一个问题:K-Means算法的收敛性.在网上查阅了很多资料,并没有看到很清晰的解释,所以希望可以从K-Mea ...
- 5.4.1 termios结构,关闭回显功能,一键入字符fgetc立刻返回,不用按下回车键
Linux提供了一组编程接口,用来控制终端驱动程序的行为.这样我们可以更精细的来控制终端. 例如: 回显:允许控制字符的回显,例如读取密码时. 使用termios结构的密码程序 #include &l ...