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());
	}

时间: 2024-10-11 12:43:01

java分页数据导出excel的相关文章

摘抄:java查询数据导出excel并返回给浏览器下载

maven地址为: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> </dependency> 好了,废话不多少,上代码 jsp前端代码(根据自己的业务来) <span style="font-size:18px;">

框架 day50 BOS项目 4 批量导入(ocupload插件,pinyin4J)/POI解析Excel/Combobox下拉框/分区组合条件分页查询(ajax)/分区数据导出(Excel)

知识点: 批量导入(ocupload插件,pinyin4J /POI解析Excel(apache POI) /区域分页查询 /Combobox下拉框 /分区组合条件分页查询(ajax) /分区数据导出(Excel下载) BOS项目笔记第4天 1.    区域批量导入功能 *Ajax不支持文件上传. *上传并且不刷新上传页面原理: Target到一个0,0,0的隐藏iframe里,造成一个没有刷新的假象 <form target="myIframe" action="ab

Java使用POI实现数据导出excel报表

在上篇文章中,我们简单介绍了java读取word,excel和pdf文档内容 ,但在实际开发中,我们用到最多的是把数据库中数据导出excel报表形式.不仅仅简单的读取office中的数据.尤其是在生产管理或者财务系统中用的非常普遍,因为这些系统经常要做一些报表打印的工作.而数据导出的格式一般是EXCEL或者PDF .所以今天我们来简单看一下利用Apache  POI实现数据库中数据导出excel报表.在java中有很多实现数据导出excel报表的第三方jar包.但在比较了一下感觉还是POI相对来

JAVA关于POI导出Excel内存溢出的解决方案

JAVA关于POI导出Excel内存溢出的解决方案 在我们使用JAVA开发过程中,经常要导出查询获得的数据,这些数据一般情况下都是以Excel存储的,因此我们在导出数据的时候要使用JAVA的POI库,其主要是对各种windows平台的数据格式进行操作,在这里,我们是对Excel操作. 生成Excel的过程原理是这样的,首先,我们对数据库进行查询,获取相应的结果集,一般是list集合,然后生成Workbook对象,根据生成的Workbook对象获取sheet对象,根据此sheet对象获取Row对象

Java中导入导出Excel -- POI技术

一.介绍: 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际的开发中,很多时候需要实现导入.导出Excel的应用. 目前,比较常用的实现Java导入.导出Excel的技术有两种Jakarta POI和Java Excel 下面我就分别讲解一下如何使用这两个技术实现导入.导出Excel 二.使用Jakarta POI导入.导出Excel Jakarta PO

Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ?Copyright 蕃薯耀 2017年9月13日 http://www.cnblogs.com/fanshuyao/ 直接上代码: import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.ref

Java实现导入导出Excel文件的方法

目前,比较常用的实现Java导入.导出Excel的技术有两种Jakarta POI和Java Excel 直接上代码: 一,POI POI是apache的项目,可对微软的Word,Excel,Ppt进行操作,包括office2003和2007,Excl2003和2007.poi现在一直有更新.所以现在主流使用POI. xls: pom: org.apache.poi poi-ooxml 3.9 commons-io commons-io 2.2 导出: public class PoiCreat

百度地图里面搜索到的公司商家电话导出表格?怎样将把百度地图里面搜索到的公司 电话 地址 等数据导出excel里?

好多人在问:如何将百度地图里面搜索到的公司商家电话导出表格?怎样将把百度地图里面搜索到的公司 电话 地址 等数据导出excel里? 现在,很多人都在网络上找商家,联系业务. 百度地图里有很多的商家联系方式地址等数据,这便成为很多人的便捷方式.但是一个个地复制出来商家的电话,地址是一件很痛苦的事情, 于是想到开发一个程序,模拟人的操作,将所有的数据提取保存到EXCEL里. 交流学习QQ:3125547039 主要代码思路: m_objConnection.Open();             b

npoi实现数据导出Excel

npoi .NET第三方的Office功能组件. 链接地址 http://npoi.codeplex.com/ 引用命名空间 using NPOI.HSSF.UserModel; using NPOI.HPSF; using NPOI.POIFS.FileSystem; using NPOI.SS.UserModel; 功能代码 /// <summary> /// 操作EXCEL导出数据报表的类 /// </summary> public class DataToExcel { /