[Java] 纯文本查看 复制代码package com.jeeplus.modules.fact.util;

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import com.deepoove.poi.XWPFTemplate;

import com.deepoove.poi.data.NumbericRenderData;

import com.deepoove.poi.data.PictureRenderData;

import com.deepoove.poi.data.RenderData;

import com.deepoove.poi.data.TableRenderData;

import com.deepoove.poi.data.TextRenderData;

import cn.yygzs.common.config.Global;

import cn.yygzs.common.utils.DateUtils;

/**

* doc操作工具

* poi-ti

* [url=home.php?mod=space&uid=686208]@AuThor[/url] 遥大叔

* @projectName yygzs

* @packageName cn.yygzs.modules.fact.util

* [url=home.php?mod=space&uid=120849]@jdk[/url] 1.8.0_121

* [url=home.php?mod=space&uid=686237]@date[/url] 2018年5月26日下午10:34:09

* @version V1.0

* @describe

*/

public class DocUtil {

public static Logger logger = LoggerFactory.getLogger(DocUtil.class);

//存储模板路径common/css/yygzs.css

//public static final String template1="d:/testWord.docx";

/*

* win的路径

*/

public static final String template1=Global.getConfig("linuxUploadWord")+"/01_供应链ABS项目_付款确认书(共同债务人)20180426.docx";

public static final String template2=Global.getConfig("linuxUploadWord")+"/02_应收账款转让合同(适用于公开型无追索应收账款转让业务)20180426.docx";

public static final String template3=Global.getConfig("linuxUploadWord")+"/03供应链ABS项目_买方确认函(债务人确认债务)20180426.docx";

public static final String template4=Global.getConfig("linuxUploadWord")+"/04_供应链ABS项目_应收账款转让通知书(适用于供应商通知债务人)20180426.docx";

public static final String template5=Global.getConfig("linuxUploadWord")+"/05_供应链ABS项目_应收账款转让通知书(适用于保理商通知债务人)20180426.docx";

public static final String template6=Global.getConfig("linuxUploadWord")+"/06_应收账款转让登记协议.docx";

/*

* linux

*/

//public static final String template1=Global.getConfig("linuxUploadWord")+"/01_供应链ABS项目_付款确认书(共同债务人)20180426.docx";

//public static final String template2=Global.getConfig("linuxUploadWord")+"/02_应收账款转让合同(适用于公开型无追索应收账款转让业务)20180426.docx";

//public static final String template3=Global.getConfig("linuxUploadWord")+"/03供应链ABS项目_买方确认函(债务人确认债务)20180426.doc";

//public static final String template4=Global.getConfig("linuxUploadWord")+"/04_供应链ABS项目_应收账款转让通知书(适用于供应商通知债务人)20180426.docx";

//public static final String template5=Global.getConfig("linuxUploadWord")+"/05_供应链ABS项目_应收账款转让通知书(适用于保理商通知债务人)20180426.docx";

//public static final String template6=Global.getConfig("linuxUploadWord")+"/06_应收账款转让登记协议.docx";

/**

* 生成word文档

* @param docName 文件名:xx合同书

* @param templatePath 模板路径 例如:"d:/test.docx"

* @param map 写入的模板信息数据

* 案例:

* XWPFTemplate template = XWPFTemplate.compile("d:/test.docx").render(new HashMap(){{

put("title", "我爱遥遥科技");

}});

* @param response 下载请求

*/

public static void exmDoc(String docName,String templatePath,Map map,HttpServletResponse response) {

//生成文件名 例如:d:/out_template.docx

String fileName = Global.getConfig("linuxUploadDownLoad")+"/"+docName+".docx"; //win下面的路径

//String fileName = Global.getConfig("linuxUploadDownLoad")+"/"+docName+DateUtils.getDate("yyyyMMdd")+".docx"; //linux

//取出word模板

XWPFTemplate template = XWPFTemplate.compile(templatePath).render(map);

try {

//输出生成好的文件

FileOutputStream out = new FileOutputStream(fileName);

template.write(out);

logger.debug("生成成功");

//如果需要下载执行下一条代码

logger.debug("进入下载start");

//DocUtil.download(fileName, response);

logger.debug("进入下载end");

System.out.println();

out.flush();

out.close();

template.close();

logger.debug("关闭导出流成功");

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

logger.error("出现异常:"+e);

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

logger.error("出现异常:"+e);

e.printStackTrace();

}

}

public static void main(String[] args) {

Map datas = new HashMap();

map.put("temp1","测试word模板1");

HttpServletResponse response=null;

exmDoc("测试生成word", template1, map, response);

}

}

java 调用word插件_java一键生成word操作,比poi简单相关推荐

  1. 利用VBA建立基金或者股票的实时净值和日线或者周线图并一键生成word文章

    本人使用的是office 2016,其他可以参考该步骤进行即可 [完整项目工程:https://download.csdn.net/download/baobingji/85177201] 步骤1:新 ...

  2. java调用大漠插件一键搞定!!!!!!!!!!

    本人java爱好者,最近想要通过java调用大漠插件,实现一些脚本.但是发现java调用大漠插件的文章在网上太少啦,自己经过长达一周的实践和测试,总算是可以通过java调用大漠插件了,也算是给小伙们避 ...

  3. Java中利用freemarker模板动态生成word含表格

    最近公司有导出word的需求,由于word的样式有的很复杂所以记录一下Java中利用freemarker模板动态生成word含表格,以防以后忘记. 1.word表格的模板 删掉无用的数据留下基础的样式 ...

  4. Word中如何一键生成PPT,五个实用小技巧帮你工作效率翻倍

    Word作为我们常用的文档工具,帮我们大大提高了工作效率,但是对于一个新手小白来说,Word中的大部分技巧都难以快速掌握.但是我们可以掌握一些必备的实用技巧,来提高我们的工作效率,比如小编就为大家带来 ...

  5. 在word表格中一键生成序号,如何操作?

    在word表格中一键生成序号,如何操作? 目录 在word表格中一键生成序号,如何操作? 1.首先选中需要填序号的这一列​ 2.在[开始]菜单中找到[多级列表]点击,再点击[定义新的多级列表]​ 3. ...

  6. Python-生成word、docs文件[生成word文档]

    Python-生成word.docs文件[生成word文档] 方法一:写入新建文档 安装第三方库 实现代码 运行结果 注意 方法二:运用模板写入word文档 安装第三方库 创建模板或修改模板 实现代码 ...

  7. Mybatis生成器插件扩展,生成OR操作

    Mybatis生成器插件扩展,生成OR操作 ManExample example = new ManExample();ManExample.Criteria and = example.create ...

  8. Java Web项目中使用Freemarker生成Word文档

    Web项目中生成Word文档的操作屡见不鲜,基于Java的解决方案也是很多的,包括使用Jacob.Apache POI.Java2Word.iText等各种方式,其实在从Office 2003开始,就 ...

  9. word论文排版插件_推荐一款强大的Word插件,一键搞定上万字论文的排版问题

    每天12:18准时给大家惊喜!大家好!我是好奇仔,热衷于搜罗和分享各种好用.实用的软件神器和资源,有手机软件.办公软件.APP,还有网站资源-- Word作为Office办公软件三大利器之一,使用范围 ...

最新文章

  1. 文献管理软件 JabRef 快速入门
  2. CSP认证201509-3 模板生成系统[C++题解]:字符串处理、模拟、哈希表、引号里面有空格的字符串怎么读入
  3. Codeforces 848C. Goodbye Souvenir
  4. 009Linux密码故障排除
  5. C++与C#混合编程
  6. python对列表中的字典的字段进行排序
  7. 芒格:倒过来思考有利于理解事物本质并解决问题
  8. CUDNN下载速度慢解决方法
  9. matlab随机信号实验报告,随机信号分析实验报告(基于MATLAB语言)
  10. 生信技能树 电脑配置linux,生信技能树----Linux练习题答案
  11. STM32蜂鸣器驱动程序
  12. 总会用到的系列4:关键时刻能救家庭的保险
  13. 社交网络分析工具NetworkX和Gephi
  14. ForgivingExceptionHandler: An unexpected connection driver error occured (Exception message: Socket
  15. 基于Python+SQLSERVER的快递业务管理系统的设计与实现
  16. linux usb 打印机命令
  17. 使用变量时,单引号、双引号、反向单引号的区别
  18. 阿翔编程学-XFire
  19. linux开发stm32
  20. 基于jsp+servlet的javaweb实现最基本的用户注册登陆注销功能

热门文章

  1. Spring注解详解
  2. MPEG2-TS音视频同步原理
  3. 服务器托管租用商考虑什么
  4. Android SQlite数据库的使用(三)-将数据库文件连同应用程序一起发布
  5. 【观点】开发人员的测试悖论
  6. 数据库db_files参数增大怎么办
  7. onmouseover和onmouseout在GridView中应用
  8. 前端开发模式--MV*
  9. JS 之 innerHTML
  10. Github在windows7环境下使用入门