文档章节

ftl方式导出excel

王虫虫
 王虫虫
发布于 2016/10/22 18:42
字数 363
阅读 163
收藏 0

在未接触FreeMarker以前都是通过POI和JXL导出excel,如果excel的格式复杂工作量是巨大的。

如果用FreeMarker模板导出excel我们只需关注业务逻辑,对其格式可以忽略。

下面是导出excel步骤

1、excel另存为 "xml 电子表格2003"

2、修改扩展名为ftl

3、修改ftl内容,增加变量

resMap.put("products",products);

 <#if products?? && (products?size) &gt; 0>
	  <Table ss:ExpandedColumnCount="256" ss:ExpandedRowCount="${products?size+21}" x:FullColumns="1"
	   x:FullRows="1" ss:StyleID="s99" ss:DefaultColumnWidth="54"
	   ss:DefaultRowHeight="15">
	   <#else>
	     <Table ss:ExpandedColumnCount="256" ss:ExpandedRowCount="21" x:FullColumns="1"
		   x:FullRows="1" ss:StyleID="s99" ss:DefaultColumnWidth="54"
		   ss:DefaultRowHeight="15">
   </#if>  

  <#if products?? && (products?size) &gt; 0>
   	<#list products as product> 
	   <Row ss:AutoFitHeight="0" ss:Height="19.5" ss:StyleID="s93">
	    <Cell ss:StyleID="s113"><Data ss:Type="Number">${product_index+1}</Data><NamedCell
	      ss:Name="Print_Area"/></Cell>
	    <Cell ss:StyleID="s131"><Data ss:Type="String"></Data><NamedCell
	      ss:Name="Print_Area"/></Cell>
	    <Cell ss:StyleID="s132"><Data ss:Type="String">${(product.cargocode)!}</Data><NamedCell
	      ss:Name="Print_Area"/></Cell>
	    <Cell ss:StyleID="s125"><Data ss:Type="String">${product.cargoname}</Data><NamedCell
	      ss:Name="Print_Area"/></Cell>
	    <Cell ss:StyleID="s81"><Data ss:Type="String">${product.cargonum}</Data><NamedCell
	      ss:Name="Print_Area"/></Cell>
	    <Cell ss:StyleID="s127"><Data ss:Type="String">${product.cargoprice}</Data><NamedCell
	      ss:Name="Print_Area"/></Cell>
	    <Cell ss:StyleID="s128"><Data ss:Type="String">${product.cargototalprice}</Data><NamedCell
	      ss:Name="Print_Area"/></Cell>
	    <Cell ss:StyleID="s114"/>
	   </Row>
	</#list>
   </#if> 
   
   
      <Row ss:AutoFitHeight="0" ss:Height="19.5" ss:StyleID="s93">
    <Cell ss:MergeAcross="3" ss:StyleID="m78024784"><Data ss:Type="String">TOTAL:</Data><NamedCell
      ss:Name="Print_Area"/></Cell>
    <Cell ss:StyleID="s129"><Data ss:Type="String">${totalNumber}</Data><NamedCell
      ss:Name="Print_Area"/></Cell>
    <Cell ss:StyleID="s82"><Data ss:Type="String"></Data><NamedCell
      ss:Name="Print_Area"/></Cell>
    <Cell ss:StyleID="s130"><Data ss:Type="String">${total}</Data><NamedCell
      ss:Name="Print_Area"/></Cell>

 

© 著作权归作者所有

王虫虫
粉丝 0
博文 95
码字总数 31028
作品 0
顺义
程序员
私信 提问
freemarker导出excel

我刚学freemarker,现在需要把数据导出成一张excel表,但我不知道.ftl里面要怎么写,能知道我一下么

hf振宇
2015/09/18
283
1
java导出word,合并循环列表问题

目前我需要实现的功能:序号1、2、3大行中,可能会循环多条记录,左侧1,2,3列自动合并。 此功能我使用ftl模版生成方式,但是ftl循环这种列表有个弊端(如果想循环类似左侧合并行的这种列表...

白眼狼
2016/08/24
548
0
freeMark模板导出word

有时候我们会遇到将一些内容导出到word文档中方便查看,下面就来介绍下怎么采用freeMark模板导出为word。 一 . 工具准备 (1)这里我们需要用到notepad++这个工具,(下载链接https://notepad-p...

newdeng
2018/06/15
0
0
采用ftl实现导出数据到word(普通文本)

采用ftl实现导出数据到word(基础) 1、新建word文档模板 新建word文档(muban.doc),编辑该文档作为样板数据文档; 2、将word文档另存为xml 将上一步建好的模板文档另存为xml格式(muban.x...

城邑耕夫
2016/10/29
69
0
用Freemarker导出word文档

1、 用word写一个需要导出的模板,将需要动态修改的内容替换成***。如果需要在word中添加图片,需要加入一张图片占位,然后另存为xml格式,后缀名修改为.ftl。 注意:(1)编写模板时应使用M...

枫林茵然
2012/11/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

二、Docker

1、Docker - The TLDR(Too Long,Don't Read,Linxu 终端工具 ) Docker是在Linux和Windows上运行的软件。它创建、管理和编排容器。该软件以开源方式开发,在Github上作为Moby开源项目的一部分。...

倪伟伟
31分钟前
2
0
Python猫荐书系列之七:Python入门书籍有哪些?

本文原创并首发于公众号【Python猫】,未经授权,请勿转载。 原文地址:https://mp.weixin.qq.com/s/ArN-6mLPzPT8Zoq0Na_tsg 最近,猫哥的 Python 技术学习群里进来了几位比较特殊的同学:一...

豌豆花下猫
今天
5
0
Guava RateLimiter限流源码解析和实例应用

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流 缓存 缓存的目的是提升系统访问速度和增大系统处理容量 降级 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高...

算法之名
今天
13
0
国产达梦数据库与MySQL的区别

背景 由于项目上的需要,把项目实现国产化,把底层的MySQL数据库替换为国产的达梦数据库,花了一周的时间研究了国产的数据库-达梦数据库,它和MySQL有一定的区别,SQL的写法也有一些区别。 ...

TSMYK
今天
2
0
老也有错?35岁程序员是一道坎,横亘在每个技术职场人的心中

随着互联网的高速发展变革,大龄恐惧症越来越多地在技术圈被人讨论。很多程序员在工作5-10年以后,都会开始思考5年、10年甚至更久以后的自己,会是怎样一种生活工作状态,以及是否会被时代抛...

我最喜欢三大框架
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部