/** * 生成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文件,并允许用户在浏览器中直接下载。这个主题分为两个主要部分: 1. **纯ASP生成并下载EXCEL文件**: 在这部分,我们将探讨...
标题中的“Excel读取数据库生成Excel并下载完整源代码”是指一个Java项目,它使用了JXL库来实现从MySQL数据库中读取数据,并将这些数据写入到Excel文件中,最终用户可以下载这个生成的Excel文件。这个过程涵盖了...
生成Excel文件后,下一步是提供下载服务。这通常在Web应用程序中完成,例如基于Spring Boot的项目。我们需要创建一个Controller方法,返回一个`StreamingResponseBody`,通过HTTP响应将Excel文件发送到客户端: ```...
在本主题中,我们将深入探讨如何使用POI库来生成Excel文件并进行下载,同时关注设置字体大小这一细节。 首先,我们需要在项目中引入Apache POI库。如果你使用Maven,可以在pom.xml文件中添加以下依赖: ```xml ...
本主题聚焦于“java代码生成excel表并下载”,这是一个关键的后端功能,允许用户自定义表格内容并选择下载路径。下面我们将深入探讨如何实现这一功能。 首先,Java中用于生成Excel文件的主要库是Apache POI项目。...
struts2内存中生成excel并下实例
C# 简单方便地生成Excel,不需调用Office 组件,可提供: 1.单元格合并、分组、添加字体样式、设置单元格行高、列宽 2.插入图片、设置背景色、边框颜色 ...另外,能够非常方便的在WEB中动态生成Excel并下载
本教程将聚焦于如何自动生成Excel(.xls)文件,并允许用户通过浏览器直接下载。我们将探讨涉及的技术、步骤以及可能遇到的问题。 首先,生成Excel文件通常会用到Java中的Apache POI库。Apache POI是一个开源项目,它...
在ASP.NET编程中,生成Excel并导出下载是一项常见的需求,尤其在数据分析和报表生成时。以下是五种不同的实现方法: 1. **方法一:通过GridView** GridView控件是ASP.NET中用于显示数据的常用组件。这种方法适用于...
生成excel并上传到S3.不需要真正的生成excel文件,只需要拿到byte
这篇博客文章结合了这两个技术,展示了如何在Struts2应用中生成Excel文件并将其导出给用户下载。 在Java开发中,导出数据到Excel是常见的需求,特别是在处理大量结构化数据时,如报表或数据分析。JXL库提供了一个...
"Java生成Excel图表" Java生成Excel图表是使用Java语言来生成Excel图表的过程。Excel图表是指使用Excel软件生成的图表,例如柱状图、折线图、饼状图等。Java语言可以使用各种库和框架来生成Excel图表,例如...
综上所述,"生成excel并打包成zip文件"这个任务涉及到使用Java编程语言,特别是Apache POI库来生成Excel文件,再结合Java标准库的压缩功能将Excel和文本文件打包成ZIP。整个过程涉及到了文件的创建、写入、压缩和...
可以将网页显示的数据自动产生excel文件
在进行*** MVC应用开发时,生成Excel文件并提供下载功能是一项常见的需求,这通常用于数据导出、报表生成等场景。要实现这一功能,开发者需要熟悉*** MVC框架、前端技术以及Excel文件操作的相关知识。接下来,我们将...
总的来说,Java生成Excel下载涉及的主要技术点包括Apache POI库的使用、HttpServletResponse的处理以及文件流的读写操作。熟练掌握这些,你就能在Java Web项目中轻松实现Excel文件的生成与下载功能。
接下来,我们将讨论生成Excel文件的步骤: 1. **创建工作簿对象**:使用`XSSFWorkbook`(对于.xlsx文件)或`HSSFWorkbook`(对于.xls文件)创建一个新的Excel工作簿。 2. **创建工作表对象**:在工作簿中添加新的...
在C#编程中,生成Excel文件并将其作为附件发送邮件是一项常见的任务,特别是在需要定期报告或数据分享的场景中。以下是对这个主题的详细讲解。 首先,我们需要了解`DataTable`。`DataTable`是.NET框架中的一个类,...
在Java编程中,生成Excel文件是一项常见的任务,特别是在数据导出、报告生成或者数据分析场景下。本示例探讨的是如何利用反射和简单的对象模型来自动创建Excel文件。这个项目的核心思想是通过对象的属性(字段)及其...
在本文中,我们将深入探讨如何使用Java POI库根据已有的Excel模板生成新的Excel文件。 首先,理解“模板”在Excel中的概念非常重要。模板通常包含预设的格式、样式、公式和数据结构,可以作为创建新文件的基础。在...