天天看點

ftl方式導出excel

在未接觸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>
           

版權聲明:本文為CSDN部落客「weixin_34013044」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/weixin_34013044/article/details/91612768