`
wzf7065
  • 浏览: 249280 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

生成Excel并下载

 
阅读更多
       /**
	 * 生成Excel
	 * @since 2015-2-6
	 * @param request
	 * @param response
	 * @param rsMap
	 * @return
	 */
	private void createExcel(HttpServletRequest request,HttpServletResponse response,Map<Integer,Map<String, String>> rsMap){
		WorkbookSettings settings=new WorkbookSettings();
		settings.setEncoding("utf-8");
        // 文件名称与路径
        String realPath = request.getContextPath();
        String fileName = "用户信息表.xls";
        String excelUrl = SystemConfig.excelUrl;
        File file = new File(realPath + excelUrl);//导出文件存放的位置
        if (!file.exists()) {
             file.mkdirs();
        }
        realPath = realPath + excelUrl + fileName;
        // 建立工作薄并写表头
        try {
	         WritableWorkbook wwb = Workbook.createWorkbook(new File(realPath),settings);
	         WritableSheet sheet = wwb.createSheet("Sheet1", 0);// 建立工作簿
	         // 写表头
	         sheet.mergeCells(0, 0, 3, 0);
	         jxl.write.Label labelTitle = new jxl.write.Label(0, 0, "用户信息表");
	         sheet.addCell(labelTitle);// 放入工作簿
	         Label label1 = new Label(0,1,"UID");
	         Label label2 = new Label(1,1,"姓名");
		     Label label3 = new Label(2,1,"手机号");
		     Label label4 = new Label(3,1,"地址");
		     sheet.addCell(label1);
		     sheet.addCell(label2);
		     sheet.addCell(label3);
		     sheet.addCell(label4);
	         // 写入信息
		     int i = 0;
	         for(Integer uid : rsMap.keySet()){  
        	    Map<String,String> map = rsMap.get(uid);
        	    for(String paramKey : map.keySet()){
        	    	String paramValue = map.get(paramKey);
        	    	Label label5 = new Label(0,i+2,uid.toString());
        	    	sheet.addCell(label5);
        	    	if(paramKey.equals(Constants.UserCommunicationInfo.USER_NAME)){
        	    		Label label6 = new Label(1,i+2,paramValue);
        	    		sheet.addCell(label6);
        	    	}
        	    	if(paramKey.equals(Constants.UserCommunicationInfo.USER_MOBILE)){
        	    		Label label7 = new Label(2,i+2,paramValue);
        	    		sheet.addCell(label7);
        	    	}
        	    	if(paramKey.equals(Constants.UserCommunicationInfo.USER_ADDR)){
        	    		Label label8 = new Label(3,i+2,paramValue);
        	    		sheet.addCell(label8);
        	    	}
        	    }
        	    i++;
	         }
	         // 写入Exel工作表
	         wwb.write();
	         // 关闭Excel工作薄对象
	         wwb.close();
        }catch(Exception e){
        	log.error("生成Excel失败"+e);
        	e.printStackTrace();
        }
        downloadExcel(response,fileName,realPath);
	}
	
	/**
	 * 下载Excel
	 * @since 2015-2-6
	 * @param response
	 * @param fileName
	 * @param realPath
	 */
	public void downloadExcel(HttpServletResponse response,String fileName,String realPath){
		try{
			response.setHeader("Content-Disposition", "attachment; filename=" + new String(fileName.getBytes("utf-8"),"iso-8859-1"));
			response.setContentType("application/vnd.ms-excel; charset=utf-8");
			response.setCharacterEncoding("utf-8"); 
			OutputStream out = response.getOutputStream();
			InputStream in = new FileInputStream(realPath);
			byte[] buffer = new byte[1024];
			int i = -1;
			while ((i = in.read(buffer)) != -1) {
				out.write(buffer, 0, i);
			}
			in.close();
			out.flush();
			out.close();
        }catch(Exception e){
        	log.error("下载Excel失败"+e);
        	e.printStackTrace();
        }
    }

 

 

分享到:
评论

相关推荐

    ASP生成EXCEL并自动下载

    在本场景中,"ASP生成EXCEL并自动下载"是一个技术主题,涉及到使用ASP编程来创建Excel文件,并允许用户在浏览器中直接下载。这个主题分为两个主要部分: 1. **纯ASP生成并下载EXCEL文件**: 在这部分,我们将探讨...

    Excel读取数据库生成Excel并下载完整源代码

    标题中的“Excel读取数据库生成Excel并下载完整源代码”是指一个Java项目,它使用了JXL库来实现从MySQL数据库中读取数据,并将这些数据写入到Excel文件中,最终用户可以下载这个生成的Excel文件。这个过程涵盖了...

    java实现生成下载Excel

    生成Excel文件后,下一步是提供下载服务。这通常在Web应用程序中完成,例如基于Spring Boot的项目。我们需要创建一个Controller方法,返回一个`StreamingResponseBody`,通过HTTP响应将Excel文件发送到客户端: ```...

    JAVA用POI生成Excel并下载

    在本主题中,我们将深入探讨如何使用POI库来生成Excel文件并进行下载,同时关注设置字体大小这一细节。 首先,我们需要在项目中引入Apache POI库。如果你使用Maven,可以在pom.xml文件中添加以下依赖: ```xml ...

    java代码生成excel表并下载

    本主题聚焦于“java代码生成excel表并下载”,这是一个关键的后端功能,允许用户自定义表格内容并选择下载路径。下面我们将深入探讨如何实现这一功能。 首先,Java中用于生成Excel文件的主要库是Apache POI项目。...

    struts2内存中生成excel并下载

    struts2内存中生成excel并下实例

    C# 生成Excel 合并、统计、插入图片、WEB下载、设置样式

    C# 简单方便地生成Excel,不需调用Office 组件,可提供: 1.单元格合并、分组、添加字体样式、设置单元格行高、列宽 2.插入图片、设置背景色、边框颜色 ...另外,能够非常方便的在WEB中动态生成Excel并下载

    自动生成Excel文件(.xls),并支持从浏览器直接下载该文件

    本教程将聚焦于如何自动生成Excel(.xls)文件,并允许用户通过浏览器直接下载。我们将探讨涉及的技术、步骤以及可能遇到的问题。 首先,生成Excel文件通常会用到Java中的Apache POI库。Apache POI是一个开源项目,它...

    【ASP.NET编程知识】asp.net生成Excel并导出下载五种实现方法.docx

    在ASP.NET编程中,生成Excel并导出下载是一项常见的需求,尤其在数据分析和报表生成时。以下是五种不同的实现方法: 1. **方法一:通过GridView** GridView控件是ASP.NET中用于显示数据的常用组件。这种方法适用于...

    生成excel并上传至S3

    生成excel并上传到S3.不需要真正的生成excel文件,只需要拿到byte

    [转]java struts2+jxl生成并导出Excel

    这篇博客文章结合了这两个技术,展示了如何在Struts2应用中生成Excel文件并将其导出给用户下载。 在Java开发中,导出数据到Excel是常见的需求,特别是在处理大量结构化数据时,如报表或数据分析。JXL库提供了一个...

    java生成excel图表

    "Java生成Excel图表" Java生成Excel图表是使用Java语言来生成Excel图表的过程。Excel图表是指使用Excel软件生成的图表,例如柱状图、折线图、饼状图等。Java语言可以使用各种库和框架来生成Excel图表,例如...

    生成excel并打包成zip文件

    综上所述,"生成excel并打包成zip文件"这个任务涉及到使用Java编程语言,特别是Apache POI库来生成Excel文件,再结合Java标准库的压缩功能将Excel和文本文件打包成ZIP。整个过程涉及到了文件的创建、写入、压缩和...

    用asp 自动生成excel文件

    可以将网页显示的数据自动产生excel文件

    Asp.net MVC实现生成Excel并下载功能

    在进行*** MVC应用开发时,生成Excel文件并提供下载功能是一项常见的需求,这通常用于数据导出、报表生成等场景。要实现这一功能,开发者需要熟悉*** MVC框架、前端技术以及Excel文件操作的相关知识。接下来,我们将...

    java生成excel下载

    总的来说,Java生成Excel下载涉及的主要技术点包括Apache POI库的使用、HttpServletResponse的处理以及文件流的读写操作。熟练掌握这些,你就能在Java Web项目中轻松实现Excel文件的生成与下载功能。

    java 生成并下载excel

    接下来,我们将讨论生成Excel文件的步骤: 1. **创建工作簿对象**:使用`XSSFWorkbook`(对于.xlsx文件)或`HSSFWorkbook`(对于.xls文件)创建一个新的Excel工作簿。 2. **创建工作表对象**:在工作簿中添加新的...

    C# DataTable生成excel并将excel添加附件发送邮件

    在C#编程中,生成Excel文件并将其作为附件发送邮件是一项常见的任务,特别是在需要定期报告或数据分享的场景中。以下是对这个主题的详细讲解。 首先,我们需要了解`DataTable`。`DataTable`是.NET框架中的一个类,...

    java 根据简单对象自动 生成excel

    在Java编程中,生成Excel文件是一项常见的任务,特别是在数据导出、报告生成或者数据分析场景下。本示例探讨的是如何利用反射和简单的对象模型来自动创建Excel文件。这个项目的核心思想是通过对象的属性(字段)及其...

    java poi 根据excel模板生成excel文件

    在本文中,我们将深入探讨如何使用Java POI库根据已有的Excel模板生成新的Excel文件。 首先,理解“模板”在Excel中的概念非常重要。模板通常包含预设的格式、样式、公式和数据结构,可以作为创建新文件的基础。在...

Global site tag (gtag.js) - Google Analytics