function exportExcel(){
if(confirm('确认导出数据')){
$("#form1").attr("action","export-excel.action").submit();
}else{
return false;
}
}
在ExportExcel.java类里
@Action(results={@Result(name="success",type="stream",params={
"contentType","application/octet-stream",
"inputName","fileInputStream",
"contentDisposition","attachment;filename=${fileName}.xls",
"bufferSize","1024"
}
)
}
)
@Override
public String execute() throws Exception{
System.out.println("aaaaaaaaaaaaaa");
System.out.println(lotteryId);
LotteryPeriod lotteryPeriod = this.lotteryPeriodService.findById(lotteryId);
DetachedCriteria dc = this.lotteryPrizeService.createCriteria();
dc.add(Restrictions.eq("lotteryPeriod", lotteryPeriod));
List<LotteryPrize> lotPrize = this.lotteryPrizeService.findByDetachedCriteria(dc);
DetachedCriteria dc2 = this.prizeListService.createCriteria();
dc2.add(Restrictions.in("lotteryPrize", lotPrize));
if(!StringUtils.isEmpty(user_num)){
dc2.add(Restrictions.ilike("userNum",user_num.trim(),MatchMode.ANYWHERE ));
}
if(!StringUtils.isEmpty(user_name)){
dc2.add(Restrictions.ilike("userName",user_name.trim(),MatchMode.ANYWHERE ));
}
if(!StringUtils.isEmpty(weibo_url)){
dc2.add(Restrictions.ilike("weiboUrl",weibo_url.trim(),MatchMode.ANYWHERE ));
}
if(!StringUtils.isEmpty(contact_phone)){
dc2.add(Restrictions.ilike("contactPhone",contact_phone.trim(),MatchMode.ANYWHERE ));
}
dc.addOrder(Order.desc("createTime"));
List<PrizeList> priList=this.prizeListService.findByDetachedCriteria(dc2);
Sheet sheet = workBook.createSheet();
HSSFCellStyle style=workBook.createCellStyle();
style.setFillForegroundColor(HSSFColor.BLACK.index);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
Row metaRow = sheet.createRow(0);
//Date nowDate = new Date();
//创建表头
metaRow.createCell(0).setCellValue("编号");
metaRow.createCell(1).setCellValue("姓名");
metaRow.createCell(2).setCellValue("微博链接");
metaRow.createCell(0).setCellValue("联系号码");
metaRow.createCell(1).setCellValue("抽奖号");
metaRow.createCell(2).setCellValue("是否已经抽奖");
metaRow.createCell(0).setCellValue("所中奖项");
metaRow.createCell(1).setCellValue("抽奖日期");
//把查询出的数据编辑到excel中
if(priList!=null&&priList.size()>0){
int rowNum=1;
for(int i=0;i<priList.size();i++){
PrizeList obj = (PrizeList) priList.get(i);
Row row = sheet.createRow(rowNum);
row.createCell(0).setCellValue(rowNum);
row.createCell(1).setCellValue(obj.getLotteryNo());
row.createCell(2).setCellValue(obj.getUserNum());
row.createCell(3).setCellValue(obj.getUserName());
row.createCell(4).setCellValue(obj.getWeiboUrl());
row.createCell(5).setCellValue(obj.getContactPhone());
rowNum++;
}
}else{
System.out.println("错误");
}
return super.execute();
}
/**
* 定义"contentDisposition","attachment;filename=${fileName}.xls",
* 中${fileName}属性来源,需要转成8850编码
* @return
* @throws ParseException
*/
public String getFileName() throws ParseException {
try {
DateFormat formatSuffix = new SimpleDateFormat(
"yyyy-MM-dd");
this.fileNameSuffix =
formatSuffix.format(new Date());
return new String(("中奖名单列表").getBytes("GBK"), "ISO8859-1" ); //实际环境要GBK
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return "export";
}
public InputStream getFileInputStream(){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] result = null;
try {
workBook.write(baos);
baos.flush();
result = baos.toByteArray();
baos.close();
} catch (IOException e) {
e.printStackTrace();
}
return new ByteArrayInputStream(result, 0, result.length);
}
分享到:
相关推荐
1. **编程接口**:大多数情况下,开发人员会使用编程语言(如Python的pandas库,Java的Apache POI,C#的EPPlus等)来实现导出Excel功能。这些库提供了API,允许我们创建、读取和修改Excel文件,包括XLS和XLSX格式。 ...
在EXTJS这个强大的JavaScript框架中,实现导出Excel功能是一项常见的需求。EXTJS提供了一种高效的方法来将数据导出到Excel格式,使得用户能够方便地处理和分析数据。在这个场景下,我们可以从以下几个关键知识点入手...
java实现导出excel功能,可稍作修改移值到网页上进行数据导出
layui数据表格导出Excel插件是一款为layui框架设计的实用工具,它允许用户方便地将layui数据表格中...总之,layui数据表格导出Excel插件提供了一个高效、便捷的解决方案,使得在layui项目中实现数据导出变得轻而易举。
本篇文章将深入探讨如何在Ionic应用中实现Excel文件的导出功能,特别是使用xlsx库来创建和导出Excel表格。这个实现方案是基于真实的项目代码案例,确保了其实用性和可行性。 首先,我们需要安装必要的依赖库。`xlsx...
在本示例中,我们将深入探讨如何使用Aspose库在.NET环境中根据模板导出Excel电子表格。这个过程涉及到多个步骤和技术,包括理解Aspose的API、模板设计以及数据注入。 首先,Aspose库提供了强大的Excel操作功能,...
本篇文章将详细探讨如何使用Freemarker来实现Excel导出功能,并通过实际例子加深理解。 一、Freemarker基础 1. 模板语言:Freemarker是一种基于模板的语言,它允许开发者通过简单的语法(如 `${}` 和 `#if`)来...
以下是对"Excel导出实现代码"这一主题的详细解释。 一、Apache POI简介 Apache POI是Java领域中的一个流行库,它允许开发者通过编程方式创建、修改和读取Microsoft Office格式的文件。对于Excel文件,POI提供了HSSF...
然而,原生的ECSHOP可能并不直接支持将订单数据导出为Excel格式,这就需要我们通过编写插件或者修改源码来实现这一功能。本教程将详细介绍如何为ECSHOP实现订单导出到Excel的特性。 首先,我们需要了解ECSHOP的订单...
总结来说,"poi-excel-handler" 是一个使用 Apache POI 实现的工具,它提供了根据模板导出和简单列表导出 Excel 的功能。通过利用 POI 的 API,它能够有效地处理大量数据,同时保持代码的可读性。在实际项目中,这样...
导出Excel 准备数据: 首先,你需要有一份员工数据,可以是从数据库中查询得到的,也可以是已有的数据集合。 创建Excel文件: 使用POI库创建一个新的Excel文件。在文件中创建一个工作表,并在第一行创建标题行,包含...
在实现jQuery导出Excel功能时,必须考虑浏览器的兼容性和跨域限制。对于老版本的IE浏览器,可能需要采用不同的策略。同时,如果数据来源是跨域的API,需要确保服务端支持CORS(跨源资源共享)。 8. **安全性** 在...
在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java POI Java POI 是一个开源的 Java 库,由 Apache 软件基金会维护。它提供了一系列的 API,用于处理 Microsoft Office 文件...
LigerUI Table不仅具备基本的表格功能,如排序、筛选、分页,还提供了丰富的扩展特性,如导出Excel功能。这个功能使得用户能够方便地将网页上的数据导出到Excel文件中,以便于进一步的数据分析或存储。 标题"...
通过以上步骤,你就能在Vue项目中实现前端导出Excel的功能。记住,这种方式适用于小规模数据导出,对于大量数据,建议分批处理或者交给后端处理以提高性能和用户体验。同时,导出功能应考虑兼容性,确保在不同的...
【lodop导出ExcelDemo】是一个基于LODOP技术实现的JavaScript示例,它展示了如何通过LODOP组件将网页中的数据导出为Excel文件。这个功能在许多Web应用程序中非常实用,允许用户方便地保存和处理数据。下面将详细阐述...
"pb导出excel2007"这个主题涉及到的是如何在PowerBuilder中将数据窗口(DataWindow)的内容导出到Excel 2007格式的文件中。在实际开发中,有时我们需要将PB的数据窗口数据导出到Excel以便于分析、处理或分享,而这个...
本知识点将详细介绍如何实现GridControl通用导出Excel功能,尤其是支持多个控件如GridControl、Chart、PivotGrid等同时导出到同一个Excel工作表中。 #### 二、导出Excel方法详解 ##### 1. 方法签名 ```csharp ...
在提供的压缩包文件"易语言高级表格快速导出EXCEL"中,可能包含了实现上述功能的源代码文件,供学习者参考和研究。通过阅读和分析这些源代码,可以深入理解易语言在处理表格数据和导出Excel方面的技术细节,这对于...