ExcelService 业务类
package cn.service; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.InputStream; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; public class ExcelService { /** * 调用 JXL 生成 Excel 文件 * */ public InputStream generateExcel(){ Label label = null; WritableWorkbook workbook = null; //字节数组的输出流 ByteArrayOutputStream os = new ByteArrayOutputStream(); try { workbook = Workbook.createWorkbook(os); WritableSheet sheet = workbook.createSheet("第 1 页", 0); label = new jxl.write.Label(0, 0, "标题"); sheet.addCell(label); label = new jxl.write.Label(0, 1, "数据"); sheet.addCell(label); workbook.write(); workbook.close(); } catch (Exception e) { e.printStackTrace(); } InputStream is = new ByteArrayInputStream(os.toByteArray()); return is; } }
ExcelAction 控制类
package cn.action; import java.io.InputStream; import cn.service.ExcelService; import com.opensymphony.xwork2.ActionSupport; @SuppressWarnings("serial") public class ExcelAction extends ActionSupport { //建立一个输入流对象,用于 Excel 文件下载 private InputStream inputStream; //业务类 private ExcelService excelService = new ExcelService(); //调用业务类生成 Excel public String execute(){ this.inputStream = excelService.generateExcel(); return SUCCESS; } public InputStream getInputStream() { return inputStream; } public void setInputStream(InputStream inputStream) { this.inputStream = inputStream; } public ExcelService getExcelService() { return excelService; } public void setExcelService(ExcelService excelService) { this.excelService = excelService; } }
web.xml 配置
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>Spring13Struts2Jxl</display-name> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
applicationContext.xml 配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> </beans>
struts.xml 配置
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="cn.action" extends="struts-default" namespace="/"> <action name="excel" class="cn.action.ExcelAction"> <result type="stream" name="success"> <!-- 返回类型是 Excel --> <param name="contentType">application/vnd.ms-excel</param> <param name="inputName">inputStream</param> <!-- 指定下载的文件名 --> <param name="contentDisposition">attachment;filename="export.xls"</param> <param name="bufferSize">1024</param> </result> </action> </package> </struts>
index.jsp 页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>下载文档</title> </head> <body> 下载文档: <a href="excel.action">内容</a> </body> </html>
效果图:
相关推荐
标题 "SSH+JXL 下载 Excel 文档" 涉及到的是在Java开发中,使用Spring、Struts2框架以及JXL库来实现Excel文件的下载功能。SSH(Spring、Struts2、Hibernate)是Java领域常见的MVC架构,而JXL是一个流行的Java库,...
### S2SH+jxl.jar 实现导出Excel文档详解 #### 一、概述 在Java Web开发中,经常需要处理各种格式的数据文件,其中Excel文件因其格式通用且易于操作而被广泛采用。本文将详细介绍如何利用Struts2、Hibernate(简称...
struts2导出excel java 导出excel: JXL_excel: 可以直接在elipse下运行的例子 可以直接导出excel文件(包含所需的jar包) CSharpJExcel: 是JXL的官方下载的 包括详细的文档 和jar包
这些库的组合表明这个示例项目不仅包含了一个基本的Struts2、Hibernate和Spring的集成,还可能涉及到报表生成(通过JasperReports)、Excel文件处理(POI和JExcelAPI)、以及可能的MySQL数据库操作。开发者可以参考...
本篇文档主要介绍了如何利用jxl进行Excel文件数据的导入操作。 ### 关键组件与功能实现 #### 1. 页面设计:userImport.jsp 页面设计部分通过`userImport.jsp`实现。这里提供了一个按钮,用于触发Excel数据导入的...
这些库的组合表明这是一个可能用于企业级Java Web开发的环境,涵盖了数据处理(jxl)、XML操作(dom4j)、JSON序列化、单元测试(JUnit)、日志管理(Log4j)以及MVC框架(Struts2)等关键方面。对于理解和构建此类...
SSH(Struts2 + Spring + Hibernate)是一种经典的Java Web开发框架组合,用于构建高效、可扩展的企业级应用程序。这个压缩包文件提供了SSH项目所需的多个关键jar包,确保开发者在进行s2sh开发时能避免因缺少依赖而...
- `jxl.jar` 提供了JExcelAPI,这是一个开源的Java库,用于读取、写入和修改Excel文件。使用JExcelAPI,你可以创建新的工作簿,添加工作表,设置单元格的样式和公式,以及读取已有数据。 - `poi-3.0.1.jar` 是...
SSH2框架,全称为Struts2、Spring和Hibernate2的集成框架,是Java Web开发中的一个常用组合。这个框架集合了三个强大库的功能,旨在提供更高效、更灵活的开发环境。下面将详细介绍这些jar包及其在SSH2框架中的作用。...
在没有使用Apache POI的情况下,可以使用jxl进行Excel相关的操作。 这些JAR文件都是SSH整合时为了保证系统正常运行和功能完整性而必备的组件。在构建项目时,正确引入这些依赖,并配置相应的配置文件(如Spring的...
5. **jxl.jar** - JExcelApi是一个用于读写Excel文件的Java库,虽然POI已经很强大,但JExcelApi在处理较旧的Excel格式时仍然有用。 6. **struts.jar** - 这可能是Struts1的库文件,是一个早期的MVC框架,尽管已被...
- `jxl.jar`:JExcelAPI库,用于读写Excel文件,方便数据导入导出。 这些组件组合在一起,能够帮助开发者快速构建一个具备持久层(Hibernate)、业务逻辑层(Spring)和视图层(Struts2)的完整Java Web应用。通过...
在本案例中,我们涉及到了SSH(Struts、Spring、Hibernate)框架、JSTL(JavaServer Pages Standard Tag Library)、Excel处理以及JSON处理等多个重要知识点。 1. **SSH框架**: - **Struts**:Struts是一个开源的...
1. **JXL库**: JXL是Java的一个库,用于读写Excel文件。它允许开发者在Java程序中创建、修改和读取Excel工作簿。通过JXL,你可以创建新的工作表,设置单元格样式,读取数据,进行公式计算,并且处理图表,这对于数据...
XML解析库(Xerces)和Excel处理库(POI和JXL)可能用于数据导入导出或者报告生成。 总之,这个压缩包为那些在SSH和DWR环境中遇到依赖冲突问题的开发者提供了一个可能的解决方案,通过这些特定版本的JAR文件,他们...
【标题】"人力资源管理(基于ssh的j2ee项目)附带lib包2"所涉及的知识点主要集中在Java企业级开发领域,特别是Spring、Struts和Hibernate(SSH)框架的集成应用,以及与之相关的技术和工具。这个项目是用于实现全面...
2. JSP代码部分则是用户界面,使用了Struts2和JSTL标签库。它包含了处理请求的路径设置、导入必要的库,以及定义HTML结构。页面可能包含一个表单,让用户选择Excel文件进行上传,提交后调用Action执行上述逻辑。处理...
2. **poi-2.5.1.jar**:Apache POI 是一个用于读写Microsoft Office格式文件的Java库,如Word(DOC)、Excel(XLS)和PowerPoint(PPT)。在Java程序中,可以使用POI来生成、读取和修改这些文件,尤其在数据导入导出...
JXL是一个基于Java的Excel文档处理库,用于实现在线请假系统的报表生成功能。在在线请假系统中,JXL库用于将请假申请数据导出到Excel文档。 第三部分:系统总体设计 在线请假系统的总体设计涉及到多个方面,包括...