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

导出Excel功能的实现

 
阅读更多
	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);
	}
 
分享到:
评论

相关推荐

    导出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功能,可稍作修改移值到网页上进行数据导出

    layui数据表格导出Excel插件

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

    ionic 导出excel实现方案

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

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

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

    Freemarker实现excel导出功能

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

    excel导出实现代码

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

    javaScript 导出excel文件

    JavaScript 导出 Excel 文件 JavaScript 导出 Excel 文件是指使用 JavaScript 语言将 HTML ...使用 JavaScript 导出 Excel 文件可以实现将 HTML 表格数据导出到 Excel 文件中的功能,这对于数据分析和处理非常有用。

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

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

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

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

    使用Springboot实现excel的导入导出

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

    jquery 导出excel方法

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

    java_poi实现excel导入导出

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

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

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

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

    通过以上步骤,你就能在Vue项目中实现前端导出Excel的功能。记住,这种方式适用于小规模数据导出,对于大量数据,建议分批处理或者交给后端处理以提高性能和用户体验。同时,导出功能应考虑兼容性,确保在不同的...

    java swing开发导入导出excel功能

    此代码为java运用poi3.8插件实现运用模版导入导出复杂excel

    lodop导出ExcelDemo

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

    pb导出excel2007

    "pb导出excel2007"这个主题涉及到的是如何在PowerBuilder中将数据窗口(DataWindow)的内容导出到Excel 2007格式的文件中。在实际开发中,有时我们需要将PB的数据窗口数据导出到Excel以便于分析、处理或分享,而这个...

    GridControl通用导出Excel

    本知识点将详细介绍如何实现GridControl通用导出Excel功能,尤其是支持多个控件如GridControl、Chart、PivotGrid等同时导出到同一个Excel工作表中。 #### 二、导出Excel方法详解 ##### 1. 方法签名 ```csharp ...

Global site tag (gtag.js) - Google Analytics