<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;
}
}
分享到:
相关推荐
1. **编程接口**:大多数情况下,开发人员会使用编程语言(如Python的pandas库,Java的Apache POI,C#的EPPlus等)来实现导出Excel功能。这些库提供了API,允许我们创建、读取和修改Excel文件,包括XLS和XLSX格式。 ...
在EXTJS这个强大的JavaScript框架中,实现导出Excel功能是一项常见的需求。EXTJS提供了一种高效的方法来将数据导出到Excel格式,使得用户能够方便地处理和分析数据。在这个场景下,我们可以从以下几个关键知识点入手...
java实现导出excel功能,可稍作修改移值到网页上进行数据导出
本篇文章将详细探讨如何使用Freemarker来实现Excel导出功能,并通过实际例子加深理解。 一、Freemarker基础 1. 模板语言:Freemarker是一种基于模板的语言,它允许开发者通过简单的语法(如 `${}` 和 `#if`)来...
本教程将详细介绍如何利用Blob和Export2Excel这两个JavaScript库来实现在Vue项目中导出Excel文件。 首先,Blob.js是一个处理Blob对象的JavaScript库,Blob对象是Web API中用于存储不可变的、原始数据的类文件对象。...
以下是对"Excel导出实现代码"这一主题的详细解释。 一、Apache POI简介 Apache POI是Java领域中的一个流行库,它允许开发者通过编程方式创建、修改和读取Microsoft Office格式的文件。对于Excel文件,POI提供了HSSF...
layui数据表格导出Excel插件是一款为layui框架设计的实用工具,它允许用户方便地将layui数据表格中...总之,layui数据表格导出Excel插件提供了一个高效、便捷的解决方案,使得在layui项目中实现数据导出变得轻而易举。
本篇文章将深入探讨如何在Ionic应用中实现Excel文件的导出功能,特别是使用xlsx库来创建和导出Excel表格。这个实现方案是基于真实的项目代码案例,确保了其实用性和可行性。 首先,我们需要安装必要的依赖库。`xlsx...
然而,原生的ECSHOP可能并不直接支持将订单数据导出为Excel格式,这就需要我们通过编写插件或者修改源码来实现这一功能。本教程将详细介绍如何为ECSHOP实现订单导出到Excel的特性。 首先,我们需要了解ECSHOP的订单...
导出Excel 准备数据: 首先,你需要有一份员工数据,可以是从数据库中查询得到的,也可以是已有的数据集合。 创建Excel文件: 使用POI库创建一个新的Excel文件。在文件中创建一个工作表,并在第一行创建标题行,包含...
在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java POI Java POI 是一个开源的 Java 库,由 Apache 软件基金会维护。它提供了一系列的 API,用于处理 Microsoft Office 文件...
在本示例中,我们将深入探讨如何使用Aspose库在.NET环境中根据模板导出Excel电子表格。这个过程涉及到多个步骤和技术,包括理解Aspose的API、模板设计以及数据注入。 首先,Aspose库提供了强大的Excel操作功能,...
在实现jQuery导出Excel功能时,必须考虑浏览器的兼容性和跨域限制。对于老版本的IE浏览器,可能需要采用不同的策略。同时,如果数据来源是跨域的API,需要确保服务端支持CORS(跨源资源共享)。 8. **安全性** 在...
"前端导出Excel table2excel"就是这样一个解决方案,它实现了在浏览器端将HTML表格直接转换为Excel文件,实现了“所见即所得”的效果。这个功能对于数据展示和分析非常有用,比如用户可以在查看完网页上的数据后,...
总结来说,"poi-excel-handler" 是一个使用 Apache POI 实现的工具,它提供了根据模板导出和简单列表导出 Excel 的功能。通过利用 POI 的 API,它能够有效地处理大量数据,同时保持代码的可读性。在实际项目中,这样...
LigerUI Table不仅具备基本的表格功能,如排序、筛选、分页,还提供了丰富的扩展特性,如导出Excel功能。这个功能使得用户能够方便地将网页上的数据导出到Excel文件中,以便于进一步的数据分析或存储。 标题"...
【lodop导出ExcelDemo】是一个基于LODOP技术实现的JavaScript示例,它展示了如何通过LODOP组件将网页中的数据导出为Excel文件。这个功能在许多Web应用程序中非常实用,允许用户方便地保存和处理数据。下面将详细阐述...
在提供的压缩包文件`dw2xls_pb9demo`中,很可能是包含了一个示例项目或者库,演示了如何在PowerBuilder 9环境中实现这个功能。通过分析和运行这个示例,开发者可以了解具体的实现细节,并根据自己的需求进行修改和...
"Export2Excel.js导出excel"是一个针对这种情况的解决方案,它允许在Vue项目中实现前端直接导出Excel文件。下面将详细阐述这个功能的实现原理和涉及的技术。 首先,"Blob.js"是用于处理浏览器中的Blob对象的...