最近在做财务方面的报表,自然也就需要导出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最后一行会不全……什么都不想说了
分享到:
相关推荐
- 使用Freemarker导出Excel通常涉及到Apache POI库。首先,你需要创建一个Freemarker模板文件,定义好表格的结构和样式,然后将Java对象的数据填充到模板中。 - 创建`ftl`文件,例如`excel.ftl`,设置表格行、列的...
本篇文章将详细探讨如何使用Freemarker来实现Excel导出功能,并通过实际例子加深理解。 一、Freemarker基础 1. 模板语言:Freemarker是一种基于模板的语言,它允许开发者通过简单的语法(如 `${}` 和 `#if`)来...
Freemarker导出带图片Excel,文章教程讲解:https://blog.csdn.net/x541211190/article/details/105675771 可以边看教程边使用,代码真实可用。我最近优化了一下,支持了xlsx格式导出。将原来的下线了。这个是最新版...
本教程将详细介绍如何使用FreeMarker技术来实现Excel的导出。 一、FreeMarker基础 FreeMarker是一个基于模板的Java库,它允许我们将数据模型与HTML或其他类型的模板结合,生成动态内容。FreeMarker模板语言(FTL)...
在Java开发中,利用Freemarker生成Excel文件能够极大地提高效率,特别是处理复杂表格时,其灵活性尤为突出。本示例重点在于如何通过Freemarker实现Excel单元格内的换行功能。 首先,我们需要理解Freemarker的基本...
2. **Freemarker与Excel导出**: 在Java开发中,通常使用Apache POI库来操作Excel文件。然而,当需要将模板和数据结合时,Freemarker可以作为POI的一个补充,帮助构建动态的Excel模板。通过Freemarker模板,开发者...
**基于Freemarker导出Excel** Freemarker是一个流行的模板引擎,常用于生成HTML、XML等动态内容。在jxls中,Freemarker被用来编写Excel模板。模板文件使用特殊的语法标记,这些标记会被jxls解析并用实际的Java对象...
在本实例中,"自写FreeMarker导出数据为EXcel"是利用FreeMarker模板语言和Servlet技术来生成Excel文件,方便地导出数据。下面将详细介绍这个过程以及涉及的相关知识点。 1. **FreeMarker模板引擎**: FreeMarker是...
总的来说,利用Freemarker导出Excel是一种灵活且高效的方法,它允许开发者将业务逻辑与视图分离,使得代码更易于维护和扩展。通过熟练掌握Freemarker和Apache POI,你可以构建出强大的数据导出功能,满足各种复杂...
1. 使用Apache POI 3.9 自定义样式导出Excel文件; 2. 使用freemarker动态生成word .doc文档(带图片Word以及复杂格式word) 详细说明见个人博客及 github: https://github.com/DuebassLei/excel-poi
在IT行业中,Apache POI 是一个非常著名的Java库,它允许开发者读取、写入和修改Microsoft Office格式的文件,包括Excel(XLS和XLSX)。本话题聚焦于使用POI来动态生成带有下拉菜单的Excel导入模板,这在数据处理、...
包含Excel表格的布局和占位符,然后使用`Template`类加载模板,并通过`ModelMap`或`Hashmap`传递数据,最后通过`freemarker.template.Configuration`实例的`process`方法生成Excel文件。 2. **生成Word**:类似生成...
"一个freemarker导出word的通用包"就是解决这个问题的一个实用工具。这个工程利用了FreeMarker模板引擎,它是一个强大的、轻量级的、基于Java的模板语言,用于生成动态HTML、XML、PDF或其他格式的文本输出。以下是...
综上所述,"IDEA+Springboot+gradle+Jxls导出Excel"的项目组合,利用现代开发工具和技术,实现了从数据获取、处理、展示到导出的完整流程。FreeMarker和EasyUI提供了用户友好的界面,Spring Boot和Gradle构建了健壮...
在IT行业中,自动导出Excel并实现行合并是一项常见的需求,尤其在数据分析、报表生成以及数据可视化等场景中。这个MyEclipse项目提供了一个解决方案,适用于任何开发工具,只要能够导入源码和第三方库即可运行。 ...
Java导出Excel在Web项目中的应用是一个常见的需求,特别是在企业级开发中,为了方便数据的存储、分析和传输,往往需要将数据库中的数据导出为Excel格式。下面将详细介绍这个主题,包括相关技术和实现步骤。 1. **...
总结来说,使用FreeMarker导出Word和PDF文件是一种灵活且高效的方式,它可以将动态数据与预设的模板结合,生成符合特定格式的文档。通过封装工具类,可以方便地在各种项目中复用这段代码,提高开发效率。在实际应用...
描述中提到的“使用freemarker导出excel、word和pdf的文件”揭示了这个项目或应用可能涉及到以下几个关键知识点: 1. **FreeMarker模板引擎**:FreeMarker是一个基于模板的语言,用于生成任何类型的文本输出。在...
在本场景中,"freemarker excel下载"可能是指使用Freemarker来生成Excel文件的下载功能。 生成Excel文件通常是为了提供数据导出,便于用户分析或进一步处理。在Freemarker中,我们可以利用它的模板语法和Java API来...