/***

* 执行导出Word 文档

*@paramid 记录编号

* ****/

public String exportSimpleWord(String id, HttpServletRequest request) throwsIOException, TemplateException {

log.info("执行导出Word 文档==>>[id="+id+"]");

HouseAgent houseAgent=houseAgentService.houseAgent(id);this.insertCommunityName2CommunityArea(houseAgent);

List roleIds=new ArrayList();

List communityIds=new ArrayList();

roleIds.add(8);

communityIds.add(houseAgent.getCommunityId());//房屋租售管理员

CommunityDesResult CommunityDesResult =communityRpcService.getCommunityDesByCommunityId(houseAgent.getCommunityId());

CommunityDes communityDes=CommunityDesResult.getCommunityDes();if (null !=communityDes) {

houseAgent.setUserPhone(communityDes.getCommunityServicePhone());

}//要填充的数据, 注意map的key要和word中${xxx}的xxx一致

Map dataMap = new HashMap<>();

dataMap.put("hosue_title", StringUtils.isNotBlank(houseAgent.getTitle())?houseAgent.getTitle():"");//标题

dataMap.put("neirong", StringUtils.isNotBlank(houseAgent.getContent())?houseAgent.getContent():"");//描述

dataMap.put("renovation", StringUtils.isNotBlank(houseAgent.getRenovation())?houseAgent.getRenovation():"");//装修

dataMap.put("type", null!=houseAgent.getHouseType()?houseAgent.getHouseType():"");//类型

dataMap.put("price", houseAgent.getMoney()+houseAgent.getMoneyUnit());//售价

dataMap.put("house_size", null!=houseAgent.getHouseSize()?houseAgent.getHouseSize().toString()+"平米":"");//面积

dataMap.put("layout_type", null!=houseAgent.getLayoutType()?houseAgent.getLayoutType():"");//户型

dataMap.put("floors", StringUtils.isNotBlank(houseAgent.getFloors())?houseAgent.getFloors():"");//楼层

dataMap.put("Rights", null!=houseAgent.getYearLimit()?(houseAgent.getYearLimit()+"年"):"");//产权

dataMap.put("address", StringUtils.isNotBlank(houseAgent.getAddr())?houseAgent.getAddr():"");//地址

dataMap.put("xiaoqu", StringUtils.isNotBlank(houseAgent.getCommunityName())?houseAgent.getCommunityName():"");//小区

dataMap.put("area", StringUtils.isNotBlank(houseAgent.getCommunityErea())?houseAgent.getCommunityErea():"");//区域

dataMap.put("money", (null!=houseAgent.getMoney()?houseAgent.getMoney()+(StringUtils.isNotBlank(houseAgent.getMoneyUnit())?houseAgent.getMoneyUnit():""):""));//区域

dataMap.put("rentType", StringUtils.isNotBlank(houseAgent.getRentType())?houseAgent.getRentType():"");

dataMap.put("year", null!=houseAgent.getYear()?houseAgent.getYear()+"年":"");

dataMap.put("telephone",StringUtils.isEmpty(houseAgent.getUserPhone())?"":houseAgent.getUserPhone());

List> imglist = null;try{

imglist=getImg(houseAgent.getHouseImgs(), request);

}catch(Exception e) {//TODO Auto-generated catch block

e.printStackTrace();

}//Configuration用于读取ftl文件

Configuration configuration = newConfiguration();

configuration.setDefaultEncoding("utf-8");/*以下是两种指定ftl文件所在目录路径的方式, 注意这两种方式都是*/

//获取当前类所在路径目录

String pathString = request.getSession().getServletContext().getRealPath("/ExportWord");

configuration.setDirectoryForTemplateLoading(newFile(pathString));

String nameString= "house" + System.currentTimeMillis() + ".doc";//输出文档路径及名称

File outFile = new File(pathString + "\\" + nameString + "");//以utf-8的编码读取ftl文件

Template t;

String templateFile="";//出租

if(houseAgent.getType().intValue()==0){

templateFile="rent.ftl";//出售

}else if(houseAgent.getType().intValue()==1){

templateFile="sell.ftl";

}

t= configuration.getTemplate(templateFile, "utf-8");

dataMap.put("images", imglist); //图片

Writer out= new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"), 10240);

t.process(dataMap, out);

out.close();//删除已下载的图片

final List> finalList=imglist;

ThreadPools.getInstance().execute(newRunnable() {

@Overridepublic voidrun() {for (Mapmap : finalList) {

File file=new File(map.get("deleteImage").toString());

file.delete();

}

}

});returnnameString;

}

java导出并下载word_java 导出word 并下载相关推荐

  1. java poi无法读取word_java poi word读取

    用 poi 读取word文件 . 老是报错 org.apache.poi.poifs.filesystem.NotOLE2FileException: Invalid header signature ...

  2. JSP下载文件(word是下载还是在线打开)

    需求:要提供给客户一个下载xml文件备份的功能,思路确定了生成xml,在服务器指定目录创建文件,取得文件路径,弹出下载框! 01 <%@ page contentType="text/ ...

  3. java 桥 word_java导出word的6种方式(转发)

    最近做的项目,需要将一些信息导出到word中.在网上找了好多解决方案,现在将这几天的总结分享一下. 目前来看,java导出word大致有6种解决方案: 1:Jacob是Java-COM Bridge的 ...

  4. java使用freemaker自定义路径导出Word关键点讲解版

    最近工作遇到需要开发java导出Word操作,这里我选用的模板是freemaker. 导出的前期操作在网络上一找一大把,我这里复述下我的操作: 1.将要导出的模板打到Word中,然后另存为xml格式的 ...

  5. java+vue实现前后端导出html的word文档

    java+vue实现前后端导出html的word文档 该内容主要是完成项目中实战导出word文档,而且不需要其他的依赖,原生的写法即可! 本项目架构: PS:不是这个架构的话看下逻辑就好,赶紧找别的博 ...

  6. Java 实现HTML富文本导出至word完美解决方案

    Java 实现HTML富文本导出至word完美解决方案 **需求: 最近用java开发一个申报管理系统,里面有一个根据申请书的模板填写项目申报信息的功能,并将项目申请书word导出功能.** 1: 动 ...

  7. java 导出word换行_Java 导出数据库表信息生成Word文档

    一.前言 最近看见朋友写了一个导出数据库生成word文档的业务,感觉很有意思,研究了一下,这里也拿出来与大家分享一波~ 先来看看生成的word文档效果吧 下面我们也来一起简单的实现吧 二.Java 导 ...

  8. java 浏览器 excel导出excel_使用Java导出Excel表格并由浏览器直接下载——基于POI框架...

    非异步方法 /** * 使用Java导出Excel表格并由浏览器直接下载--基于POI框架 * * @param response * @return * @throws IllegalAccessE ...

  9. Java导出多个excel压缩成zip下载

    Java导出多个excel压缩成zip下载 maven <!--hutoos工具类根据需要可以导入不同的模块,我这里是导入全部的模块--><dependency><gro ...

最新文章

  1. Bzoj3998: [TJOI2015]弦论
  2. 独家 | 一文盘点数据行业的动态演变(附链接)
  3. jQuery获取或设置元素的宽度和高度
  4. 给转型做技术的同学的一些建议
  5. ios wkweb设置图片_iOS wkwebview和 uiwebview 内容图片自适应大小
  6. react入门(1)之阮一峰react教程
  7. linux 指针什么意思,在linux中获取指向结构设备指针的更简洁方法是什么?
  8. Android将应用调试log信息保存在SD卡
  9. 21天学通c语言错误,为《21天学通C语言》(第7版)(Sams Teach Yourself C in 21 Days)正名...
  10. 【推荐】四款数据库可视化操作工具
  11. 狂神说 | Spring完整版笔记
  12. 虎牙直播弹幕抓取 相关资料整理
  13. h3c服务器设置u盘引导,44-U盘启动
  14. python编程手机模拟点击_python简单的模拟点击(一)
  15. 如何精准引流?看完这篇文章你将成为高手
  16. Android之集成极光推送
  17. Thinkphp内核虚拟资源素材源码交易下载平台网站源码
  18. 并发编程 定时线程池ScheduledThreadPoolExecutor学习总结
  19. XCODE error: The linked library ‘libluajit.a‘ is missing one or more architectures required by thi
  20. 拷贝docker镜像到其他机器部署

热门文章

  1. 刚做了Morgan Stanley IT部门Summer Intern的online test
  2. java 公历 农历_java已知阳历日期求对应阴历日期源代码
  3. 解决在IE11浏览器上,css样式不起作用的问题
  4. Android studio线性布局用户界面设计
  5. linux free 命令以及系统内存占用过高的处理方法
  6. poj3468 线段树区间更新+区间查询
  7. for do done 嵌套
  8. bezier曲线解析与代码(c++)
  9. 洛谷 P2570 [ZJOI2010]贪吃的老鼠
  10. 如何使用usbmon进行usb抓包调试