`
truth99
  • 浏览: 62903 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

struts2 poi 导出excel

阅读更多
废话不多说
先把poi.jar文件引入到项目中,下载链接

html页面


<a href="actions/export">下载execl</a>


struts.xml配置

<package name="struts2" namespace="/actions" extends="json-default">
       <action name="export" class="com.truth.action.ExportAction">
			<result type="stream">
				<param name="encode">true</param>
				<param name="contentType">application/vnd.ms-excelcharset=GBK</param>
				<param name="inputName">execlStream</param>
				<param name="contentDisposition">attachment;filename="${fileName}"</param>
				<param name="bufferSize">1024</param>
			</result>
		</action>
</package>


<param name="inputName">execlStream</param>中的execlStream要和java文件中的get方法一致,如:getExeclStream,否则报错

fileName也要在java文件中对应,这个是excel文件名称


java文件

package com.truth.action;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;

import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import com.opensymphony.xwork2.ActionSupport;

public class ExportAction extends ActionSupport {

	private static final long serialVersionUID = -7721390106400928567L;
	private static final Logger log = Logger.getLogger(ExportAction.class);
	
	private String fileName = "什sdsd.xls";
	



	@SuppressWarnings("deprecation")
	public InputStream getExeclStream() {
		try {
			fileName = new String(fileName.getBytes(),"ISO8859-1");
		} catch (UnsupportedEncodingException e1) {
			e1.printStackTrace();
		}
		HSSFWorkbook workbook = new HSSFWorkbook();  
        HSSFSheet sheet = workbook.createSheet("sheet1");  
        {  
            // 创建表头  
            HSSFRow row = sheet.createRow(0);  
            HSSFCell cell = row.createCell((short) 0);  
            cell.setCellValue("id");
            cell = row.createCell((short) 1);  
            cell.setCellValue("姓");
            cell = row.createCell((short) 2);  
            cell.setCellValue("名");
            cell = row.createCell((short) 3);  
            cell.setCellValue("年龄");  

            // 创建数据  
            // 第一行  
            row = sheet.createRow(1);  
            cell = row.createCell((short) 0);  
            cell.setCellValue("1");  
            cell = row.createCell((short) 1);  
            cell.setCellValue("张");  
            cell = row.createCell((short) 2);  
            cell.setCellValue("四");  
            cell = row.createCell((short) 3);  
            cell.setCellValue("23");  

            // 第二行  
            row = sheet.createRow(2);  
            cell = row.createCell((short) 0);  
            cell.setCellValue("2");  
            cell = row.createCell((short) 1);  
            cell.setCellValue("李");  
            cell = row.createCell((short) 2);  
            cell.setCellValue("六");  
            cell = row.createCell((short) 3);  
            cell.setCellValue("30");  
        }  

        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        try {  
            workbook.write(baos);  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
        byte[] ba = baos.toByteArray();  
        ByteArrayInputStream bais = new ByteArrayInputStream(ba);  
        return bais;  
	}



	@Override
	public String execute() throws Exception {
		return SUCCESS;
	}
	public String getFileName() {
		return fileName;
	}
	
	
	
	public void setFileName(String fileName) {
		this.fileName = fileName;
	}
}

0
1
分享到:
评论
1 楼 sysuzzq 2013-04-19  
你好,我有一段跟你基本一样的代码,当数据量比较多时,发现生成完Excel后Tomcat的内存没有被释放。我在Action里面添加baos.flush();baos.close();后也没用。想请问一下你有没有好的解决办法

相关推荐

    struts2 poi导出到excel

    Struts2和Apache POI是Java开发中处理Web应用程序数据导出到Excel的常用工具。...以上就是使用Struts2和Apache POI导出数据到Excel的基本流程和关键知识点,实际应用中可能需要根据具体需求进行调整和优化。

    struts,poi导出excel

    在 Java 开发中,如果你需要导出数据到 Excel,Apache POI 提供了高效的 API 来实现这一功能。在本文中,我们将深入探讨如何使用 POI 组件来创建和操作 Excel 文档。 1. **创建 Excel 文档对象** 创建一个 Excel ...

    struts2中利用poi导出excel

    本篇文章将深入探讨如何在Struts2框架中使用POI库来导出Excel文件。 首先,我们需要在项目中引入Apache POI库。可以通过Maven或Gradle将其添加到构建文件中。对于Maven,可以在pom.xml文件中添加以下依赖: ```xml...

    struts2+poi导出excel表格完整例子

    在这个“struts2+poi导出excel表格完整例子”中,我们将深入探讨这两个工具如何协同工作,实现从Web应用导出数据到Excel电子表格的功能。 首先,让我们了解一下Struts2的工作原理。Struts2基于拦截器(Interceptor...

    struts2+poi实现导出Excel文件

    Struts2 和 Apache POI 的结合使用主要集中在创建 Web 应用程序中导出 Excel 文件的功能上。Apache POI 是一个 Java 库,允许开发者创建、修改和显示 Microsoft Office 格式的文件,其中包括 Excel。而 Struts2 是一...

    Java Struts2+poi插件 实现导出Excel

    这个项目"Java Struts2+poi插件 实现导出Excel"就是结合这两个工具,为用户提供一个功能,能够将数据导出到Excel格式的文件中。 首先,让我们详细了解一下Struts2。Struts2的核心是Action,它负责接收请求、处理...

    POI导出Excel表格

    以下是关于POI导出Excel表格的相关知识点的详细解释。 1. **Apache POI库**: Apache POI 是一个开源项目,它提供了一组API用于读写Microsoft Office格式的文件,如Excel(XLS,XLSX),Word(DOC,DOCX)和...

    Struts2 poi动态导入导出Excel源码示例

    首先,让我们深入理解一下如何使用Struts2和POI来实现Excel的导入导出。 1. **Struts2的Action配置**: 在Struts2中,你需要创建一个Action类来处理用户请求。这个Action类会有一个方法,专门处理导入或导出Excel...

    JSP Struts2 分页 导出Excel

    **JSP Struts2 分页 导出Excel** 在Web开发中,经常需要处理大量数据,这时分页显示和导出功能就显得尤为重要。JSP(JavaServer Pages)和Struts2作为Java Web开发中的常见技术,可以帮助我们构建动态、交互的网页...

    struts2+poi实现excel表格导出

    通过以上讲解,我们可以看到,结合Struts2和Apache POI,我们可以轻松实现动态生成和导出Excel表格的功能,满足企业级Web应用的需求。提供的文档和网页资源应该会进一步细化这一过程,帮助开发者更好地理解和实践。

    使用poi从数据库导出excel表的示例

    首先,让我们深入理解"struts1"和"poi导出excel"这两个标签。Struts1是Apache软件基金会的一个开源MVC框架,它主要用于构建基于Java的Web应用程序。而Apache POI则是一个用于处理Microsoft Office文档的库,特别是...

    整合struts2 ssh导出excel

    首先,导出Excel是Web应用中常见的需求,通常用于报表生成或数据批量下载。在Struts2中,我们可以利用Apache POI库来操作Microsoft Office的XML格式,进而创建Excel文件。 1. **Apache POI库的使用**:Apache POI是...

    struts2导出Excel poi

    在Struts2中,Action可以通过Result返回不同的视图,比如JSP、XML或流文件,这正是我们导出Excel所需的。 接下来,我们引入Apache POI。POI提供了读写Microsoft Office文件的API,对于Excel,主要使用HSSFWorkbook...

    struts2+poi实现excel文件的导出

    Struts2 和 Apache POI 的整合允许开发者轻松地实现在 Web 应用程序中导出 Excel 文件的功能。Apache POI 是一个 Java 库,它提供了处理 Microsoft Office 格式(如 .xls 和 .xlsx)的能力,包括创建、读取和修改 ...

    POI+struts2导出Excel

    标题中的“POI+struts2导出Excel”是指使用Apache POI库与Struts2框架结合,实现在Web应用程序中导出数据到Excel的功能。Apache POI是Java平台上的一个开源项目,它允许开发者创建、修改和显示Microsoft Office格式...

    struts2+poi 实现Excel导出

    在导出Excel的场景中,Action通常会负责接收用户请求,处理业务逻辑,并将结果返回给用户。 2. **Apache POI库**:Apache POI提供了HSSF(Horrible Spreadsheet Format)和XSSF(Extensible Spreadsheet Format)两...

    poi 导出EXCEL 例子

    接下来,我们将创建一个简单的Java程序来演示如何使用POI导出Excel文件。首先,导入必要的POI库: ```java import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; import ...

    Struts2+poi 实现从数据库中导出excel表

    Struts2 poi 实现从数据库中导出excel表

    struts2实现excel导出

    在Struts2框架中,实现Excel导出的功能主要依赖于Apache POI库,这是一个用于读写Microsoft Office格式档案的Java库。以下将详细介绍如何利用Struts2和POI实现Excel导出。 首先,你需要在项目中引入Apache POI库。...

    poi导出Excel

    Apache POI 是一个开源...总的来说,利用 Apache POI 和 Struts 框架导出 Excel 文件涉及到了前端请求、后端处理和框架配置等多个环节。理解并掌握这些知识点,可以帮助你更好地在实际开发中实现 Excel 的导出功能。

Global site tag (gtag.js) - Google Analytics