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 ...
随机推荐
- python 性能优化
1.优化循环 循环之外能做的事不要放在循环内,比如下面的优化可以快一倍 2.使用join合并迭代器中的字符串 join对于累加的方式,有大约5倍的提升 3.使用if is 使用if is True比i ...
- IOS 加载中提示框
LoadingView.h #import <Foundation/Foundation.h> @class MBProgressHUD; @interface LoadingView : ...
- convention-plugin
1.官方介绍的地址: http://struts.apache.org/2.1.6/docs/convention-plugin.html 2.struts.xml文件配置 只挑选几个重要的常量说明: ...
- Android应用程序组件Content Provider的共享数据更新通知机制分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6985171 在Android系统中,应用程序组 ...
- python 笔记3--高级特性
切片 语法 L[l:r] 取L[l],L[l+1]-L[r-2],L[r-1] L[l:r:m] 取L[l],L[l+m],L[l+2*m],L[l+3*m]-.(满足l+n*m<=r-1) t ...
- 虚拟化之KVM的安装续篇
介于上篇文章用的网络的方式安装系统并且磁盘文件格式为raw,不支持快照,所以再写下这篇文章,方便后续查看. 目的:通过nfs安装系统,磁盘文件格式为qcow2(支持快照). 如下操作和上篇文章只有部分 ...
- Android多项目依赖在Eclipse中无法关联源代码的问题解决 Ctril 点不进去的解决方法
1. 使用快捷键:Ctrl+shift+R,在弹出框中输入.classpath 找到被作为library引入的那个.classpath文件. 2.将kind="src" path ...
- web前端技术归类
1.以屏幕可用宽和高的百分比来定义弹出框的宽和高 var trueWidth = $(top.window).width() * 0.9;var trueHeight = $(top.window). ...
- 深入浅出SlidingMenu
如果想直接查看源码的话可以从我的Github上下载查看:https://github.com/zhanghuijun0/demo-for-android/tree/master/SlidingMenu ...
- Java之可变参数
Java中支持可变参数 意思就是:参数的个数可以根据需要写,你可以写1个.2个.3个....他们都被保存到一个参数的数组中. 但是这些参有一些约束:他们必须是同类型的,比如都是String字符串类型. ...