`
darklipeng
  • 浏览: 126316 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

freemarker导出excel

    博客分类:
  • J2EE
 
阅读更多

最近在做财务方面的报表,自然也就需要导出excel,看了网上的一些方案,比如poi,或是active控件,不是浏览器限制就是写起来复杂,要引进一大堆jar包,还不公用。最后借鉴了以下两篇:

http://www.oschina.net/question/12_638

http://blog.csdn.net/jackyyen/article/details/4584987

 

项目用的是springmvc3,没有webwork,struts2之类

 

1.首先是配置文件 

 

 

	<beans:bean id="freemarkerViewResolver"
		class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
		<beans:property name="order" value="1" />  
		<beans:property name="prefix" value="/WEB-INF/freemarker/views/" />
		<beans:property name="suffix" value=".ftl" />
		<beans:property name="contentType" value="text/html; charset=UTF-8" />
		<beans:property name="exposeRequestAttributes" value="false" />
		<beans:property name="exposeSessionAttributes" value="false" />
		<beans:property name="exposeSpringMacroHelpers" value="true" />
	</beans:bean>
	
	<beans:bean id="ExcelViewResolver"
		class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
		<beans:property name="order" value="2" />  
		<beans:property name="prefix" value="/WEB-INF/freemarker/views/" />
		<beans:property name="suffix" value=".xtl" />
		<beans:property name="contentType" value="application/vnd.ms-excel" />
		<beans:property name="exposeRequestAttributes" value="false" />
		<beans:property name="exposeSessionAttributes" value="false" />
		<beans:property name="exposeSpringMacroHelpers" value="true" />
	</beans:bean>
 

2.java代码

 

/**
 * @author lip 创建于 2012-7-24
 *
 */
@Controller
public class ExportExcelAction {

	@RequestMapping(value = "/exportexcel")
	public String exportExcel(String excelContent,Model model, HttpServletRequest request,
			HttpServletResponse response)
	{
		Date now = new Date();
		//根据时间生成文件名
		response.setHeader("Content-disposition","inline; filename="+now.getTime()+".xls");
		model.addAttribute("excelContent", excelContent);
		return "excel/export";
	}
}

3.ftl代码

<table width="100%" border="1" cellspacing="0" cellpadding="0" style="border-collapse:collapse">
${excelContent}
</table>

 

4.很多页面的table都需要导出功能,所以做成了宏

 

<#macro excelDiv>
<form id="excelForm" action="exportexcel" method="post">
	<textarea style="display:none" id="excelContent" name="excelContent">
	</textarea>
</form>
<script>
$(function(){
	var content = $('table.table').html();
	$('#excelContent').text(content);
});
</script>
</#macro>

 5.页面使用时,加个导出按钮,和上面那个宏

 

<a class="icon" href="javascript:$('#excelForm').submit()"><span>导出EXCEL</span></a>
<table class="table" width="100%" layoutH="138">
……
需要导出的表内容
……
</table>
<@excelDiv/>

 

测试了一下120条记录导出也很流畅,chrome,ff都没什么问题,ie9最后一行会不全……什么都不想说了

分享到:
评论
1 楼 fenglingne 2015-09-02  
不太懂,form提交到controller以后,就不明白了,还请您指点指点,不胜感激!项目急用。。。

相关推荐

    Freemarker实现excel导出功能

    本篇文章将详细探讨如何使用Freemarker来实现Excel导出功能,并通过实际例子加深理解。 一、Freemarker基础 1. 模板语言:Freemarker是一种基于模板的语言,它允许开发者通过简单的语法(如 `${}` 和 `#if`)来...

    freemarker导出Excel、Word、HTMLdemo

    - 使用Freemarker导出Excel通常涉及到Apache POI库。首先,你需要创建一个Freemarker模板文件,定义好表格的结构和样式,然后将Java对象的数据填充到模板中。 - 创建`ftl`文件,例如`excel.ftl`,设置表格行、列的...

    freemarker-excel.zip

    Freemarker导出带图片Excel,文章教程讲解:https://blog.csdn.net/x541211190/article/details/105675771 可以边看教程边使用,代码真实可用。我最近优化了一下,支持了xlsx格式导出。将原来的下线了。这个是最新版...

    excel 导出 freemarker

    本教程将详细介绍如何使用FreeMarker技术来实现Excel的导出。 一、FreeMarker基础 FreeMarker是一个基于模板的Java库,它允许我们将数据模型与HTML或其他类型的模板结合,生成动态内容。FreeMarker模板语言(FTL)...

    freemarker生成复杂excel,带换行

    在Java开发中,利用Freemarker生成Excel文件能够极大地提高效率,特别是处理复杂表格时,其灵活性尤为突出。本示例重点在于如何通过Freemarker实现Excel单元格内的换行功能。 首先,我们需要理解Freemarker的基本...

    freemarker-excel.rar

    2. **Freemarker与Excel导出**: 在Java开发中,通常使用Apache POI库来操作Excel文件。然而,当需要将模板和数据结合时,Freemarker可以作为POI的一个补充,帮助构建动态的Excel模板。通过Freemarker模板,开发者...

    jxls 基于模版导出excel

    **基于Freemarker导出Excel** Freemarker是一个流行的模板引擎,常用于生成HTML、XML等动态内容。在jxls中,Freemarker被用来编写Excel模板。模板文件使用特殊的语法标记,这些标记会被jxls解析并用实际的Java对象...

    自写FreeMarker导出数据为EXcel实例

    在本实例中,"自写FreeMarker导出数据为EXcel"是利用FreeMarker模板语言和Servlet技术来生成Excel文件,方便地导出数据。下面将详细介绍这个过程以及涉及的相关知识点。 1. **FreeMarker模板引擎**: FreeMarker是...

    freemaker导出excel

    总的来说,利用Freemarker导出Excel是一种灵活且高效的方法,它允许开发者将业务逻辑与视图分离,使得代码更易于维护和扩展。通过熟练掌握Freemarker和Apache POI,你可以构建出强大的数据导出功能,满足各种复杂...

    springboot中使用freemarker动态生成word文档,以及使用POI导出自定义格式Excel

    1. 使用Apache POI 3.9 自定义样式导出Excel文件; 2. 使用freemarker动态生成word .doc文档(带图片Word以及复杂格式word) 详细说明见个人博客及 github: https://github.com/DuebassLei/excel-poi

    freemarker.jar freemarker架包 freemarker生成excel、word、html、xml简单例子

    包含Excel表格的布局和占位符,然后使用`Template`类加载模板,并通过`ModelMap`或`Hashmap`传递数据,最后通过`freemarker.template.Configuration`实例的`process`方法生成Excel文件。 2. **生成Word**:类似生成...

    poi动态生成导入模板,动态下拉菜单

    在IT行业中,Apache POI 是一个非常著名的Java库,它允许开发者读取、写入和修改Microsoft Office格式的文件,包括Excel(XLS和XLSX)。本话题聚焦于使用POI来动态生成带有下拉菜单的Excel导入模板,这在数据处理、...

    一个freemarker导出word的通用包

    "一个freemarker导出word的通用包"就是解决这个问题的一个实用工具。这个工程利用了FreeMarker模板引擎,它是一个强大的、轻量级的、基于Java的模板语言,用于生成动态HTML、XML、PDF或其他格式的文本输出。以下是...

    IDEA+Springboot+gradle+Jxls导出Excel

    综上所述,"IDEA+Springboot+gradle+Jxls导出Excel"的项目组合,利用现代开发工具和技术,实现了从数据获取、处理、展示到导出的完整流程。FreeMarker和EasyUI提供了用户友好的界面,Spring Boot和Gradle构建了健壮...

    自动导出Excel并可合并行

    在IT行业中,自动导出Excel并实现行合并是一项常见的需求,尤其在数据分析、报表生成以及数据可视化等场景中。这个MyEclipse项目提供了一个解决方案,适用于任何开发工具,只要能够导入源码和第三方库即可运行。 ...

    java导出excel 在web项目

    Java导出Excel在Web项目中的应用是一个常见的需求,特别是在企业级开发中,为了方便数据的存储、分析和传输,往往需要将数据库中的数据导出为Excel格式。下面将详细介绍这个主题,包括相关技术和实现步骤。 1. **...

    freemarker导出Word和pdf工具类

    总结来说,使用FreeMarker导出Word和PDF文件是一种灵活且高效的方式,它可以将动态数据与预设的模板结合,生成符合特定格式的文档。通过封装工具类,可以方便地在各种项目中复用这段代码,提高开发效率。在实际应用...

    resources.zip

    描述中提到的“使用freemarker导出excel、word和pdf的文件”揭示了这个项目或应用可能涉及到以下几个关键知识点: 1. **FreeMarker模板引擎**:FreeMarker是一个基于模板的语言,用于生成任何类型的文本输出。在...

    freemarker excel下载

    在本场景中,"freemarker excel下载"可能是指使用Freemarker来生成Excel文件的下载功能。 生成Excel文件通常是为了提供数据导出,便于用户分析或进一步处理。在Freemarker中,我们可以利用它的模板语法和Java API来...

Global site tag (gtag.js) - Google Analytics