`
wasw100
  • 浏览: 127323 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

struts2导出excel笔记

    博客分类:
  • java
阅读更多

 

 

l例子很简单,就一个Action类和一个Service类

 

1.所需jar包

struts2需要jar包:commons-logging.jar、freemarker-2.3.8.jar、ognl-2.6.11.jar、struts2-core-2.0.11.1.jar、xwork-2.0.4.jar

excel导出:jxl.jar

2.配置

   .....          
              <filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
  ......
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" >
<struts>
	<package name="platform-default" extends="struts-default">
		<action name="excel" class="action.ExcelAction">
			<result name="excel" type="stream">
				<param name="contentType">
					application/vnd.ms-excel
				</param>
				<param name="inputName">excelStream</param>
				<param name="contentDisposition">
					filename="export.xls"
				</param>
				<param name="bufferSize">1024</param>
			</result>
		</action>
	</package>
</struts>

3.Action实现

 

package action;

import java.io.InputStream;
import service.IExcelService;
import service.impl.ExcelServiceImpl;
public class ExcelAction {
	
	InputStream excelStream;
	
	public String execute(){
		IExcelService es = new ExcelServiceImpl();
		excelStream = es.getExcelInputStream();
		return "excel";
	}
	//get set...
}

4.Service实现

a.接口

 

package service;
import java.io.InputStream;
public interface IExcelService {
	InputStream getExcelInputStream();
}

b.实现类

 

package service.impl;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import jxl.Workbook;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import service.IExcelService;

public class ExcelServiceImpl implements IExcelService {

	@Override
	public InputStream getExcelInputStream() {
		//将OutputStream转化为InputStream
		ByteArrayOutputStream out = new ByteArrayOutputStream();
		putDataOnOutputStream(out);
		return new ByteArrayInputStream(out.toByteArray());
	}

	private void putDataOnOutputStream(OutputStream os) {
		jxl.write.Label label;
		WritableWorkbook workbook;
		try {
			workbook = Workbook.createWorkbook(os);
			WritableSheet sheet = workbook.createSheet("Sheet1", 0);

			label = new jxl.write.Label(0, 0, "struts2导出excel");
			sheet.addCell(label);
			
			workbook.write();
			workbook.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

 

 这样例子就完成了:

直接访问:http://127.0.0.1:8080/excel/excel.action 就可以导出excel

 

说明:

1、例子中OutputStream转InputStream是一种简单的实现,但是需要内存比较多,可以参考:
http://ostermiller.org/convert_java_outputstream_inputstream.html

2、参考实现:http://merrygrass.iteye.com/blog/558274

3、java报表JXL和POI打印设置

 

代码在附件中,jar包自己下载后导入即可

 

 

问题:

 

//横向打印
sheet.getSettings().setOrientation(PageOrientation.LANDSCAPE);
//默认行高(似乎不起作用)
sheet.getSettings().setDefaultRowHeight(510);
//设置行宽
sheet.getSettings().setDefaultColumnWidth(10);

横向设置和行宽起作用,但行高不起作用,望高手回答

 

---------------------------------------------------------------------------------

默认行高问题解决:

此方法针对excel2003,在创建sheet后,添加如下代码

 

for(int i=0;i<65536;i++){
	sheet.setRowView(i, 360);
}

 补充:jxl中20个高度对应excel的1个高度,jxl的1个宽度对应excel的7个宽度

 

 

 

 --EOF--

 

4
0
分享到:
评论
3 楼 Fang_Sir_ 2016-02-21  
我下下来怎么没有jar包
2 楼 andy0305 2012-08-18  
可以的哈 刚才没有设置工程的编码
1 楼 andy0305 2012-08-18  
怎么不能导出呢?部署工程输入地址以后只是乱码

相关推荐

    struts2导出excel java 导出excel JXL

    struts2导出excel java 导出excel: JXL_excel: 可以直接在elipse下运行的例子 可以直接导出excel文件(包含所需的jar包) CSharpJExcel: 是JXL的官方下载的 包括详细的文档 和jar包

    struts2实现excel导出

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

    struts2 poi导出到excel

    Struts2和Apache POI是Java开发中处理Web应用程序数据导出到Excel的常用工具。Struts2是一个基于MVC设计模式的Java EE框架,它提供了强大的动作控制、拦截器和结果类型等功能,使得Web应用的开发更加简洁高效。而...

    struts2导出excel.rar

    本压缩包"struts2导出excel.rar"提供了关于如何在Struts2框架中实现Excel导出功能的相关资源。 1. **Struts2框架基础** Struts2是一个基于MVC(Model-View-Controller)设计模式的Java框架,它简化了MVC的实现,...

    POI+struts2导出Excel

    描述中提到的“最简单易懂的方式写了导出的步骤”,意味着这个教程或代码示例可能以清晰明了的方式展示了如何在Struts2中使用POI来处理Excel导出。它强调了没有包含复杂的样式设置,使得初学者更容易理解和实现。...

    struts2导出Excel poi

    本篇文章将深入探讨如何利用Struts2与POI结合,实现从数据库中获取数据并导出到Excel的功能。 首先,让我们了解Struts2的基本概念。Struts2作为一款强大的MVC框架,它的核心是Action,Action是业务逻辑的执行单元。...

    Struts1.2导出Excel表

    1. **配置Struts1.2 Action**:创建一个专门处理Excel导出的Action类,比如`ExportExcelAction`。在这个类中,我们需要定义一个方法来执行导出逻辑,如`export()`。这个方法会被Struts1.2的DispatcherServlet调用。 ...

    JSP Struts2 分页 导出Excel

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

    整合struts2 ssh导出excel

    本篇文章将深入探讨如何在Struts2与SSH框架下实现Excel文件的导出。 首先,导出Excel是Web应用中常见的需求,通常用于报表生成或数据批量下载。在Struts2中,我们可以利用Apache POI库来操作Microsoft Office的XML...

    Struts2+Excel导出Demo,测试可用带JAR包

    这个"Struts2+Excel导出Demo"是一个实用的教学案例,可以帮助开发者理解如何在Java Web应用中集成Struts2和Excel导出功能。通过学习和实践这个Demo,开发者可以快速掌握相关技术,提高工作效率。

    struts2中利用poi导出excel

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

    struts1.2+extjs+导出excel项目

    Struts1.2 + ExtJS + 导出Excel项目是一个基于Web的应用开发框架组合,用于构建企业级的Java应用程序。这个项目的重点在于整合Struts1.2(一个经典的MVC框架)与ExtJS(一个富客户端JavaScript库)来提供用户友好的...

    Struts2文件流方式导出下载excel、Txt、image图片

    通过上述步骤,我们就可以在Struts2框架下实现文件流方式的下载功能,无论是Excel、TXT还是图片,都能有效地直接返回给浏览器,让客户端进行下载。这种方式既节省了服务器资源,也提高了用户体验。在实际项目中,...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    Struts2 Excel导入导出数据

    本教程将深入探讨如何利用Struts2实现从Oracle数据库导出数据到Excel,以及如何将Excel文件中的数据导入到Oracle。 首先,我们需要了解Oracle数据库的基础知识。Oracle是世界上最广泛使用的商业关系型数据库管理...

    Java Struts2+poi插件 实现导出Excel

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

    struts2整合apache的jxl导入导出excel表格

    Struts2 框架与 Apache 的 JXL 库整合,可以方便地实现在 Java Web 应用中导入和导出 Excel 表格的功能。Apache JXL 是一个强大的 Java 库,专门用于读写 Microsoft Excel 文件,使得开发者无需依赖 Office API 就能...

    struts,poi导出excel

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

Global site tag (gtag.js) - Google Analytics