这段时间项目中使用了freemarker生成word文档。在项目中遇到了几个问题,在这里记录一下。首先就是关于遍历遇到的坑。整行整行的遍历是很简单的,只需要在整行的<w:tr></w:tr>的标签钱加上遍历的<#list  list as list> </#list>就行了。我在这里要说的是前面还有合并单元格的时候的情况。如下图,水泥路面和沥青路面这几行属于申请占用面积的子行。在这里遍历的时候就需要注意。按照html的格式的话,肯定会将这整个刚做一个tr。然后再里面做colspan=‘n’来区分的。

在生成的flt的文件中可以看到,word生成出来的xml是将申请占用面积和水泥路面这个当作一个tr,算作一整行的,而其他三个每个是一个tr。当作一行。只是在前面了加上了<w:vmerge/>这个标签,表示跟前面的申请占用面积是合并的。最开始的时候,我将水泥路面和下面的人行道这几个看作是遍历体,直接将这四块遍历,生成出来的word总是会出来样式错乱的情况,在仔细分析生成的ftl文档后,才发现第一行和其他几行是又区别的。然后在后台代码里把第一个list单独取出来,其他的几个当作list遍历,就解决了问题。

另一个是关于图片的问题。最开始的时候,我是将图片的数据放到对象中当作一个属性的,然后通过${xxx.picData},将图片的base64放到图片标签中,这样无论如何就是不能将图片加载出来,还会导致文件加载不出来。但是直接将base64直接在标签里写死又是可以加载的。在试过好几种方法后,将图片的picData当作一个单值放到结果中就成功了,即${picData}.

最新文章

  1. FlashBuilder项目环境配置
  2. nodejs的实现原理和搭建服务器(动态)
  3. SQL之 CAST 和 CONVERT
  4. GitHub error “Failed to get HEAD”
  5. Codeforces Round #315 (Div. 1) A. Primes or Palindromes? 暴力
  6. day2练习题
  7. Android 开机自启动
  8. IOS开发,如何用最新的Itunes给手机装ipa文件
  9. Tomcat6 Session建立机制简要
  10. ios中mvc的FormsAuthentication.SetAuthCookie(cookieUserName, false)失败
  11. html表格表单标签的结合
  12. c#默认类的修饰符。
  13. java基础-容器-Set
  14. python正则表达式--flag修饰符、match对象属性
  15. C#判断远程计算机的指定端口是否打开的代码
  16. charls 抓包
  17. java idea导入ecli项目
  18. 【刷题记录】BZOJ-USACO
  19. 机器学习&amp;深度学习基础(tensorflow版本实现的算法概述0)
  20. linux之基本命令进阶

热门文章

  1. iOS渠道追踪统计方法大全
  2. 《Maven实战》读书笔记
  3. 快速开始使用spark
  4. Docker学习之docker-compose
  5. 使用 Eslint &amp; standard 规范前端代码
  6. 解决CentOS6.x或RedHat Linux 6.x版本不能通过System eth0以固定IP访问外网的问题
  7. Linux 部署vsftp服务及详解
  8. Android测试环境配置
  9. java8 Optional使用总结
  10. MySQL 分页查询优化