zoukankan      html  css  js  c++  java
  • freemaker生成word文档

    1. 这样是横着的:
    					<w:sectPr w:rsidR="00BF219B" w:rsidSect="00EA328D">
    						<w:pgSz w:w="16838" w:h="11906" w:orient="landscape"/>
    						<w:pgMar w:top="1797" w:right="1440" w:bottom="1797" w:left="1440" w:header="851" w:footer="992" w:gutter="0"/>
    						<w:cols w:space="425"/>
    						<w:docGrid w:type="lines" w:linePitch="312"/>
    					</w:sectPr>
    
    1. 这样是竖着的:
    				<w:sectPr w:rsidR="00BF219B">
    						<w:pgSz w:w="11906" w:h="16838"/>
    						<w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="851" w:footer="992" w:gutter="0"/>
    						<w:cols w:space="425"/>
    						<w:docGrid w:type="lines" w:linePitch="312"/>
    					</w:sectPr>
    

    准确地来说是第二行决定的——w:w表示宽度;w:h表示长度,当宽度>长度时页面就是横向的了,可以省略w:orient="landscape"
    另外还要注意作用范围,我的经验是<w:tbl>上分写一个竖向的,</w:tbl>下面写一个(似乎要多一个w:rsidSect)横向的,这样作用到table上就是横向的,表格上面的文字部分是竖向的。

    • 对于表格的生成,可以选择1.手动在表格里填占位符,这样比较麻烦而且得提前知道行数;2.利用#list标签参考以下两个链接
      freemarker生成word模版文档及list便利数据(二)
      使用freemarker生成word,步骤详解并奉上源代码
      总结一下用list标签生成word的表格:
      1.在占位符的那一行的<w:tr xxx>标签之上加上<#list newList as listKey>,占位符需要是如${listKey.name1}的形式,行标签结尾</w:tr>后加上</#list>
      2.表格的数据都需要放进 List<Map<String,Object>>中,变量名为newList,最后把该list放入Map中,key值也是“newList”,用for循环来控制插入多少行,如下:
    //        加载表格的数据
            List<Map<String,Object>> newList = new ArrayList<Map<String,Object>>();  
            for (int i = 0; i < 10; i++) {  
                Map<String,Object> map = new HashMap<String,Object>();  
    //            map.put("all1", i);  
    //            map.put("all2", "内容"+i);  
    //            map.put("all3", "内容"+i);  
    //            map.put("all4", "内容"+i);  
    //            map.put("allRate", "内容"+i);  
                map.put("p_name", "内容"+i);  
                map.put("p1_1", i);  
                map.put("p1_2", "内容"+i);  
                map.put("p1_3", "内容"+i);  
                map.put("p1_4", "内容"+i);  
                map.put("p1_rate", "内容"+i);  
                newList.add(map);  
            }  
                      dataMap.put("newList", newList);  
    
  • 相关阅读:
    CSS之EM相对单位
    html之canvas
    JS之事件监听
    html之iframe
    [转]nodejs中的process模块--child_process.exec
    [转]阮一峰:理解RESTful架构
    JS性能之滚动条之外的其他部分
    JS性能之setTimeout与clearTimeout
    CSS禁止鼠标事件---pointer-events:none
    打开文件、文件操作、管理上下文
  • 原文地址:https://www.cnblogs.com/cashew/p/8645875.html
Copyright © 2011-2022 走看看