`
阳光星心
  • 浏览: 76129 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

导出Excel功能的实现2

 
阅读更多
 <a href="xiaomi-export.action">导出购买用户数据(团购小米手机)</a><br/><br/>
 
	public InputStream getFileInputStream() {
		PipedInputStream in = new PipedInputStream(4096);
		try{
		
		 final DetachedCriteria dc = this.orderXiaomiService.createCriteria();
		 final PipedOutputStream out = new PipedOutputStream(in);
			new Thread(new Runnable() {
				public void run() {
						
					try {
						StringBuilder temp = new StringBuilder();
						temp.append("我们系统订单号").append(",");
						temp.append("送货地址").append(",");
						temp.append("收件人姓名").append(",");
						temp.append("联系手机号码").append(",");
						temp.append("订单创建时间").append(",");
						temp.append("付款状态").append(",");
						temp.append("淘宝订单号").append("\r\n");
						out.write(temp.toString().getBytes("gbk"));
						
						orderXiaomiService.execute(new HibernateCallback() {
								
								@Override
								
								public Object doInHibernate(Session session)throws HibernateException, SQLException {
									
									ScrollableResults objects = dc.getExecutableCriteria(session).setCacheMode(CacheMode.IGNORE).scroll(ScrollMode.FORWARD_ONLY);
									SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
									int count = 0;
									while (objects.next()) {
										StringBuilder temp1 = new StringBuilder();
										
										OrderXiaomi vo = (OrderXiaomi) objects.get(0);
										
										temp1.append(vo.getOrderNo()).append(",");
										temp1.append(vo.getAddress()).append(",");
										temp1.append(vo.getRecipientName()).append(",");
										temp1.append(vo.getContactPhone()).append(",");
										temp1.append(vo.getCreateTime()!=null?df.format(vo.getCreateTime()):"").append(",");
										temp1.append(Boolean.TRUE.equals(vo.getPayStatus())?"已支付":"未支付").append(",");
										temp1.append(vo.getTaoNo()).append(",");
										
										temp1.append("").append("\r\n");
										
										try {
											out.write(temp1.toString()
													.getBytes("gbk"));
										} catch (IOException e) {
											e.printStackTrace();
										}
										if (++count % 20 == 0) {
											// flush a batch of updates and
											// release memory:
											session.flush();
											session.clear();
										}
									}
									return null;
								}
							});


						out.flush();
						out.close();// 必须在此线程关闭输出流
					} 
					catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
	
				}
				
			}).start();
		}
			catch (Exception e) {
			e.printStackTrace();
		}
		return in;
	}

	/**
	 * 定义"contentDisposition","attachment;filename=${fileName}.xls",中${fileName}
	 * 属性来源,需要转成8850编码
	 * 
	 * @return
	 */
	public String getFileName() {
		try {
			return new String(("export").getBytes(),
					"ISO8859-1");
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return "export";
	}

	@Override
	@Action(results = { @Result(name = "success", type = "stream", params = {
			"contentType", "application/octet-stream", "inputName",
			"fileInputStream", "contentDisposition",
			"attachment;filename=${fileName}.csv", "bufferSize", "1024" }) })
	public String execute() throws Exception {
		
		return SUCCESS;
	}
}
 
分享到:
评论

相关推荐

    导出Excel功能,导出Excel功能,导出Excel功能

    1. **编程接口**:大多数情况下,开发人员会使用编程语言(如Python的pandas库,Java的Apache POI,C#的EPPlus等)来实现导出Excel功能。这些库提供了API,允许我们创建、读取和修改Excel文件,包括XLS和XLSX格式。 ...

    ext实现导出excel的功能。

    在EXTJS这个强大的JavaScript框架中,实现导出Excel功能是一项常见的需求。EXTJS提供了一种高效的方法来将数据导出到Excel格式,使得用户能够方便地处理和分析数据。在这个场景下,我们可以从以下几个关键知识点入手...

    java实现导出excel功能

    java实现导出excel功能,可稍作修改移值到网页上进行数据导出

    Freemarker实现excel导出功能

    本篇文章将详细探讨如何使用Freemarker来实现Excel导出功能,并通过实际例子加深理解。 一、Freemarker基础 1. 模板语言:Freemarker是一种基于模板的语言,它允许开发者通过简单的语法(如 `${}` 和 `#if`)来...

    vue实现导出Excel的两个js文件-Blob+Export2Excel

    本教程将详细介绍如何利用Blob和Export2Excel这两个JavaScript库来实现在Vue项目中导出Excel文件。 首先,Blob.js是一个处理Blob对象的JavaScript库,Blob对象是Web API中用于存储不可变的、原始数据的类文件对象。...

    excel导出实现代码

    以下是对"Excel导出实现代码"这一主题的详细解释。 一、Apache POI简介 Apache POI是Java领域中的一个流行库,它允许开发者通过编程方式创建、修改和读取Microsoft Office格式的文件。对于Excel文件,POI提供了HSSF...

    layui数据表格导出Excel插件

    layui数据表格导出Excel插件是一款为layui框架设计的实用工具,它允许用户方便地将layui数据表格中...总之,layui数据表格导出Excel插件提供了一个高效、便捷的解决方案,使得在layui项目中实现数据导出变得轻而易举。

    ionic 导出excel实现方案

    本篇文章将深入探讨如何在Ionic应用中实现Excel文件的导出功能,特别是使用xlsx库来创建和导出Excel表格。这个实现方案是基于真实的项目代码案例,确保了其实用性和可行性。 首先,我们需要安装必要的依赖库。`xlsx...

    为ecshop实现订单导出为excel功能

    然而,原生的ECSHOP可能并不直接支持将订单数据导出为Excel格式,这就需要我们通过编写插件或者修改源码来实现这一功能。本教程将详细介绍如何为ECSHOP实现订单导出到Excel的特性。 首先,我们需要了解ECSHOP的订单...

    使用Springboot实现excel的导入导出

    导出Excel 准备数据: 首先,你需要有一份员工数据,可以是从数据库中查询得到的,也可以是已有的数据集合。 创建Excel文件: 使用POI库创建一个新的Excel文件。在文件中创建一个工作表,并在第一行创建标题行,包含...

    java_poi实现excel导入导出

    在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java POI Java POI 是一个开源的 Java 库,由 Apache 软件基金会维护。它提供了一系列的 API,用于处理 Microsoft Office 文件...

    使用aspose导出Excel(根据模板导出excel).zip

    在本示例中,我们将深入探讨如何使用Aspose库在.NET环境中根据模板导出Excel电子表格。这个过程涉及到多个步骤和技术,包括理解Aspose的API、模板设计以及数据注入。 首先,Aspose库提供了强大的Excel操作功能,...

    jquery 导出excel方法

    在实现jQuery导出Excel功能时,必须考虑浏览器的兼容性和跨域限制。对于老版本的IE浏览器,可能需要采用不同的策略。同时,如果数据来源是跨域的API,需要确保服务端支持CORS(跨源资源共享)。 8. **安全性** 在...

    前端导出Excel table2excel

    "前端导出Excel table2excel"就是这样一个解决方案,它实现了在浏览器端将HTML表格直接转换为Excel文件,实现了“所见即所得”的效果。这个功能对于数据展示和分析非常有用,比如用户可以在查看完网页上的数据后,...

    poi导出根据模板导出excel和简单列表导出excel源码

    总结来说,"poi-excel-handler" 是一个使用 Apache POI 实现的工具,它提供了根据模板导出和简单列表导出 Excel 的功能。通过利用 POI 的 API,它能够有效地处理大量数据,同时保持代码的可读性。在实际项目中,这样...

    Ligerui Table导出excel 支持样式、冻结行列、图片等导出

    LigerUI Table不仅具备基本的表格功能,如排序、筛选、分页,还提供了丰富的扩展特性,如导出Excel功能。这个功能使得用户能够方便地将网页上的数据导出到Excel文件中,以便于进一步的数据分析或存储。 标题"...

    lodop导出ExcelDemo

    【lodop导出ExcelDemo】是一个基于LODOP技术实现的JavaScript示例,它展示了如何通过LODOP组件将网页中的数据导出为Excel文件。这个功能在许多Web应用程序中非常实用,允许用户方便地保存和处理数据。下面将详细阐述...

    pb导出excel2007

    在提供的压缩包文件`dw2xls_pb9demo`中,很可能是包含了一个示例项目或者库,演示了如何在PowerBuilder 9环境中实现这个功能。通过分析和运行这个示例,开发者可以了解具体的实现细节,并根据自己的需求进行修改和...

    Export2Excel.js导出excel

    "Export2Excel.js导出excel"是一个针对这种情况的解决方案,它允许在Vue项目中实现前端直接导出Excel文件。下面将详细阐述这个功能的实现原理和涉及的技术。 首先,"Blob.js"是用于处理浏览器中的Blob对象的...

Global site tag (gtag.js) - Google Analytics