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 ...
随机推荐
- [置顶] 教你如何搭建RobotFramework环境
看到这篇文章的朋友,相信已经知道RobotFramework是干什么的了,我这里就不再赘述了. 搭建步骤: 1. 下载安装Python,下载地址http://www.python.org/getit/ ...
- hdu 5626 Clarke and points
Problem Description Clarke is a patient with multiple personality disorder. One day he turned into a ...
- for、foreach和MoveNext循环效率粗比较
今天没事对for循环.foreach循环.MoveNext循环,执行效率进行了对比:粗略测试代码如下: static void Main(string[] args) { #region 三种方式循环 ...
- Android系统的开机画面显示过程分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/7691321 好几个月都没有更新过博客了,从今天 ...
- 通过jsonp解决浏览器的跨域共享
因为浏览器的同源策略,普通ajax访问跨域请求返回的json数据是不会被浏览器接受的.看下面例子可以看出是访问不到的 首先 定义webapi 后台代码 public class JsopControl ...
- 对Textbox的值转换为带千位符和小数的Decimal字符串
以下Function可以用于textbox的KeyUp事件: 2014-06-06 发现旧版IE不支持selectionStart还有字符串的"[]"索引获取值, 已经修复这个bu ...
- Android一次退出所有Activity的方法(升级版)
一.思路和方法: 首先创建一个ActivityManager类来存放Activity的对象. 返回ActivityManager的对象,供BaseActivity来进行操作. 所有其他子Activit ...
- Web App 图片上传编辑器
使用cropper.jqueryUpload插件.Jquery.src-dataurl-canvas-blob文件. @{ ViewBag.Title = "更新头像"; Layo ...
- 分布式日志收集系统- Cloudera Flume 介绍
Flume是Cloudera提供的日志收集系统,具有分布式.高可靠.高可用性等特点,对海量日志采集.聚合和传输, Flume支持在日志系统中定制各类数据发送方, 同时,Flume提供对数据进行 ...
- ps 网页布局
910 1680 找一个页面作为参考 双击小手回到正常视角 新建组 把他们放到一个组里 新建组改名(创意专家) 放入一个图片 内发光投影 Shiftalt 复制 新建组 改名创意案 ...