java导出并下载word_java 导出word 并下载
/***
* 执行导出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 并下载相关推荐
- java poi无法读取word_java poi word读取
用 poi 读取word文件 . 老是报错 org.apache.poi.poifs.filesystem.NotOLE2FileException: Invalid header signature ...
- JSP下载文件(word是下载还是在线打开)
需求:要提供给客户一个下载xml文件备份的功能,思路确定了生成xml,在服务器指定目录创建文件,取得文件路径,弹出下载框! 01 <%@ page contentType="text/ ...
- java 桥 word_java导出word的6种方式(转发)
最近做的项目,需要将一些信息导出到word中.在网上找了好多解决方案,现在将这几天的总结分享一下. 目前来看,java导出word大致有6种解决方案: 1:Jacob是Java-COM Bridge的 ...
- java使用freemaker自定义路径导出Word关键点讲解版
最近工作遇到需要开发java导出Word操作,这里我选用的模板是freemaker. 导出的前期操作在网络上一找一大把,我这里复述下我的操作: 1.将要导出的模板打到Word中,然后另存为xml格式的 ...
- java+vue实现前后端导出html的word文档
java+vue实现前后端导出html的word文档 该内容主要是完成项目中实战导出word文档,而且不需要其他的依赖,原生的写法即可! 本项目架构: PS:不是这个架构的话看下逻辑就好,赶紧找别的博 ...
- Java 实现HTML富文本导出至word完美解决方案
Java 实现HTML富文本导出至word完美解决方案 **需求: 最近用java开发一个申报管理系统,里面有一个根据申请书的模板填写项目申报信息的功能,并将项目申请书word导出功能.** 1: 动 ...
- java 导出word换行_Java 导出数据库表信息生成Word文档
一.前言 最近看见朋友写了一个导出数据库生成word文档的业务,感觉很有意思,研究了一下,这里也拿出来与大家分享一波~ 先来看看生成的word文档效果吧 下面我们也来一起简单的实现吧 二.Java 导 ...
- java 浏览器 excel导出excel_使用Java导出Excel表格并由浏览器直接下载——基于POI框架...
非异步方法 /** * 使用Java导出Excel表格并由浏览器直接下载--基于POI框架 * * @param response * @return * @throws IllegalAccessE ...
- Java导出多个excel压缩成zip下载
Java导出多个excel压缩成zip下载 maven <!--hutoos工具类根据需要可以导入不同的模块,我这里是导入全部的模块--><dependency><gro ...
最新文章
- Bzoj3998: [TJOI2015]弦论
- 独家 | 一文盘点数据行业的动态演变(附链接)
- jQuery获取或设置元素的宽度和高度
- 给转型做技术的同学的一些建议
- ios wkweb设置图片_iOS wkwebview和 uiwebview 内容图片自适应大小
- react入门(1)之阮一峰react教程
- linux 指针什么意思,在linux中获取指向结构设备指针的更简洁方法是什么?
- Android将应用调试log信息保存在SD卡
- 21天学通c语言错误,为《21天学通C语言》(第7版)(Sams Teach Yourself C in 21 Days)正名...
- 【推荐】四款数据库可视化操作工具
- 狂神说 | Spring完整版笔记
- 虎牙直播弹幕抓取 相关资料整理
- h3c服务器设置u盘引导,44-U盘启动
- python编程手机模拟点击_python简单的模拟点击(一)
- 如何精准引流?看完这篇文章你将成为高手
- Android之集成极光推送
- Thinkphp内核虚拟资源素材源码交易下载平台网站源码
- 并发编程 定时线程池ScheduledThreadPoolExecutor学习总结
- XCODE error: The linked library ‘libluajit.a‘ is missing one or more architectures required by thi
- 拷贝docker镜像到其他机器部署