java分页数据导出excel
/**
* 订单导出(用于统计利润)
* @return
*/
public String orderExport() throws IOException{
if (queryOrderList_currentPage == null || queryOrderList_currentPage <= 0) {
queryOrderList_currentPage = 1;
}
OrderInfo order = new OrderInfo();
if (!StringUtil.isNull(queryOrderList_orderStatus)) {
order.setOrderStatus(queryOrderList_orderStatus);
}
if (!StringUtil.isNull(queryOrderList_orderCard)) {
order.setOrderCard(queryOrderList_orderCard);
}
if (!StringUtil.isNull(queryOrderList_memberPhone)) {
order.setMemberPhone(queryOrderList_memberPhone);
}
if (!StringUtil.isNull(queryOrderList_memberContactsPhone)) {
order.setMemberContactsPhone(queryOrderList_memberContactsPhone);
}
if (queryOrderList_businessId != null && queryOrderList_businessId > 0) {
order.setBusinessId(queryOrderList_businessId);
}
if (!StringUtil.isNull(queryOrderList_addressDesc)) {
order.setAddressDesc(queryOrderList_addressDesc);
} if (!StringUtil.isNull(queryOrderList_beginTime) && !StringUtil.isNull(queryOrderList_endTime)) {
order.setBeginTime(queryOrderList_beginTime);
order.setEndTime(queryOrderList_endTime);
} try {
HttpServletResponse response = ServletActionContext.getResponse();
queryOrderList_pageBean = statisticsService.queryOrderListByCompanyConditions(order,queryOrderList_currentPage, queryOrderList_pageSize);
int totalPage = queryOrderList_pageBean.getTotalPage();
response.reset();
SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy-MM-dd");
String fname= "订单导出"+sdFormat.format(new Date());
fname=new String(fname.getBytes("GBK"),"ISO_8859_1");//文件名{避免出现乱码}
response.setHeader("Content-disposition", "attachment; filename="+fname+".csv");// 设定输出文件头
response.setContentType("text/csv");
response.setCharacterEncoding("UTF-8");
OutputStream out = response.getOutputStream();
String sep = ",";
//列名
for(int column=0;column<CompanyConfig.ORDER_EXPORT_COLUMN.split(",").length;column++){
out.write(CompanyConfig.ORDER_EXPORT_COLUMN.split(",")[column].getBytes());
out.write(sep.getBytes());
}
//换行符
out.write(System.getProperty("line.separator").getBytes());
//数据
OrderInfo newOrderInfo =new OrderInfo();
if(queryOrderList_pageBean.getList()!=null && queryOrderList_pageBean.getList().size()>0){
for (int i = 0; i < queryOrderList_pageBean.getList().size(); i++) {
newOrderInfo=(OrderInfo)queryOrderList_pageBean.getList().get(i);
getOut(out,newOrderInfo,sep);
}
}
if(totalPage>1){
for (int m = 2; m <= totalPage; m++) {
queryOrderList_pageBean = statisticsService.queryOrderListByCompanyConditions(order,
queryOrderList_currentPage, queryOrderList_pageSize);
List list =queryOrderList_pageBean.getList();
if(list!=null && list.size()>0){
for (int j = 0; j < list.size(); j++){
OrderInfo nOrderInfo=(OrderInfo)list.get(j);
getOut(out, nOrderInfo, sep);
}
}
}
}
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
return null;
} public void getOut(OutputStream out,OrderInfo newOrderInfo,String sep) throws IOException{
if(!StringUtil.isNull(newOrderInfo.getOrderCard())){
out.write(String.valueOf(newOrderInfo.getOrderCard()).getBytes());
}else{
out.write(String.valueOf("订单编号为空").getBytes());
}
out.write((sep).getBytes());
if(!StringUtil.isNull(newOrderInfo.getMemberContactsPhone())){
out.write(newOrderInfo.getMemberContactsPhone().getBytes());
}else{
out.write(String.valueOf("用户联系电话为空").getBytes());
}
out.write((sep).getBytes());
if(newOrderInfo.getAddressDesc()!=null){
out.write(newOrderInfo.getAddressDesc().getBytes());
}else{
out.write(String.valueOf("联系地址为空").getBytes());
}
out.write((sep).getBytes());
if(newOrderInfo.getGenerateTime()!=null){
out.write(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(newOrderInfo.getGenerateTime()).getBytes());
}else{
out.write(String.valueOf("下单时间为空").getBytes());
}
out.write(System.getProperty("line.separator").getBytes());
}
java分页数据导出excel的更多相关文章
- Java使用POI实现数据导出excel报表
Java使用POI实现数据导出excel报表 在上篇文章中,我们简单介绍了java读取word,excel和pdf文档内容 ,但在实际开发中,我们用到最多的是把数据库中数据导出excel报表形式.不仅 ...
- jxl java工具类,导出excel,导入数据库
1: 引入jxl jar 我使用的为maven管理, <!--Excel工具--> <dependency> <groupId>net.sourceforge.je ...
- 【asp.net】将GridView数据导出Excel
概要: 中午睡了一会,醒来的时候看到老师叫我去办公室,需求是这样的,把excel表中的每个同学,判断图片目录中是否有对应的照片(图片的名字用的学号或身份证号码) 没有对应图片的学生记录,存入自己的数据 ...
- Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类
Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...
- java导入、导出Excel文件
一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际 ...
- Java中导入导出Excel -- POI技术
一.介绍: 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实 ...
- java使用jxls导出Excel
jxls是基于POI的Excel模板导出导入框架.通过使用类似于jstl的标签,有效较少导出Excel的代码量. 1.pom <!-- https://mvnrepository.com/art ...
- 百度地图里面搜索到的公司商家电话导出表格?怎样将把百度地图里面搜索到的公司 电话 地址 等数据导出excel里?
好多人在问:如何将百度地图里面搜索到的公司商家电话导出表格?怎样将把百度地图里面搜索到的公司 电话 地址 等数据导出excel里? 现在,很多人都在网络上找商家,联系业务. 百度地图里有很多的商家联系 ...
- JavaScript 上万条数据 导出Excel文件(改装版)
最近项目要js实现将数据导出excel文件,网上很多插件实现~~那个开心呀,谁知道后面数据量达到上万条时出问题:浏览器不仅卡死,导出的excel文件一直提示网络失败.... debug调试发现var ...
随机推荐
- 【UVA 11997 K Smallest Sums】优先级队列
来自<训练指南>优先级队列的例题. 题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18702 题意:给定 ...
- 一款超出你想象的代码审阅软件understand
看源码人们一般会想到source insight这款软件可是这款软件目前只支持windows平台,那如果我想在Linux平台上审阅代码呢, 没关系还有一款强大的软件understand,这款软件能够生 ...
- Error 'Cannot add or update a child row: a foreign key constraint fails故障解决
一大早的,某从库突然报出故障:SQL线程中断! 查看从库状态: mysql> show slave status\G Slave_IO_State: Waiting for master to ...
- 基于Networks of Brokers的HA方案
上一篇介绍了基于ZK的ActiveMQ HA方案,虽然理解起来比较容易,但是有二个不足: 1) 占用的节点数过多,1个zk集群至少3个节点,1个activemq集群也至少得3个节点,但其实正常运行时 ...
- AAC ADTS解析
1.ADTS ADTS全称是(Audio Data Transport Stream),是AAC的一种十分常见的传输格式. 一般的AAC解码器都需要把AAC的ES流打包成ADTS的格式,一般是在AAC ...
- 百度搜索附近加盟店等基于LBS云搜索功能的实现
一.注册百度账号,进入开发者平台 创建应用并获取ak 地址如下 http://lbsyun.baidu.com/apiconsole/key/update?app-id=7546025 ok获取到了. ...
- c# 面相对象2-之封装性
一.封装特性: 这是一种隐藏的特性.可以用一个公式来展示类的封装特性: 封装的类=数据 + 对此数据进行的操作(即算法) 通俗的说,封装就是:包起外界不必要知道的东西,只向外界展露可供展示的东西. ...
- B - 敌兵布阵 线段树的点
B - 敌兵布阵 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Descriptio ...
- mysql数据备份和还原命令
mysql数据库备份和还原 备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword databasename > backupfil ...
- 浅谈AngularJS启动引导过程
我们都知道AngularJS默认会执行app.js来启动整个angular项目,但你知道angular具体执行过程吗? 一.自动引导启动框架 例如我们有如下代码,我们想要完成一个指令功能: <h ...