`

doc文件替换内容

    博客分类:
  • java
阅读更多

package com.test;

import java.io.ByteArrayOutputStream; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.util.HashMap; 
import java.util.Iterator; 
import java.util.Map; 
 

import org.apache.poi.hwpf.HWPFDocument; 
import org.apache.poi.hwpf.model.FieldsDocumentPart; 
import org.apache.poi.hwpf.usermodel.Field; 
import org.apache.poi.hwpf.usermodel.Fields; 
import org.apache.poi.hwpf.usermodel.Range; 
public class MSWordPoi4 {
     
   
    /**
    * @param args
    */ 
    public static void main(String[] args) 
    { 
//        Map<String, String> map = new HashMap<String, String>(); 
//        map.put("${yearstart}", "2014"); 
//        map.put("${monthstart}", "01"); 
//        map.put("${daystart}", "02"); 
//        map.put("${yearend}", "2017"); 
//        map.put("${monthend}", "07"); 
//        map.put("${dayend}", "07");
//        map.put("${username}", "乙方"); //用户名
//        map.put("${idcard}", "333333333333"); //身份证号
//        map.put("${householdaddress}", "户籍地址"); //户籍地址
//        map.put("${localaddress}", "联系地址"); //联系地址
//        map.put("${zipcode}", "666666");   //邮政编码
//        map.put("${begindate}", "2014年01月02日"); //合同开始日期
//        map.put("${enddate}", "2017年07月07日"); //合同结束日期
//        map.put("${mobile}", "151045222233");  //联系电话
//        map.put("${userpost}", "java工程师");  //岗位
//        map.put("${orgcode}", "综合部");  //所在部门
//        map.put("${userno}", "43000");  //工号
//        map.put("${email}", "123@163.com");  //工号
//        map.put("${systemuserid}", "yi.fang");  //登录名
//        String srcPath = "D:\\temp\\SFIT-IT资源管理系统-方案建议书-m1.doc"; 
//        readwriteWord(srcPath, map); 
//       
//        String abc = "20140301";
//        System.out.println(abc.substring(6, 8));
        String iccard = Long.toHexString(Long.valueOf("123"));
    } 
     
    /**
    * 实现对word读取和修改操作
    * 
    * @param filePath
    *            word模板路径和名称
    * @param map
    *            待填充的数据,从数据库读取
    */ 
    public static void readwriteWord(String filePath, Map<String, String> map) 
    { 
        FileInputStream in = null; 
        try 
        { 
            in = new FileInputStream(new File(filePath)); 
        } 
        catch (FileNotFoundException e1) 
        { 
            e1.printStackTrace(); 
        } 
        HWPFDocument hdt = null; 
        try 
        { 
            hdt = new HWPFDocument(in); 
        } 
        catch (IOException e1) 
        { 
            e1.printStackTrace(); 
        } 
        //读取word文本内容 
        Range range = hdt.getRange(); 
        // 替换文本内容  ````````````
        for (Map.Entry<String, String> entry : map.entrySet()) 
        { 
            range.replaceText(entry.getKey(), entry.getValue()); 
        } 
        String fileName = "" + System.currentTimeMillis(); 
        fileName += ".doc"; 
        FileOutputStream out = null; 
        try 
        { 
            out = new FileOutputStream("D:\\temp\\" + fileName, true); 
        } 
        catch (FileNotFoundException e) 
        { 
            e.printStackTrace(); 
        } 
        try 
        { 
            hdt.write(out); 
        } 
        catch (IOException e) 
        { 
            e.printStackTrace(); 
        } 
        // 输出字节流 
        try 
        { 
            out.close(); 
        } 
        catch (IOException e) 
        { 
            e.printStackTrace(); 
        } 
      
    } 
}

分享到:
评论

相关推荐

    自主创作的一款多目录批量文件内容替换工具

    可以批量替换指定的字符串、文字、数字、英文等文本信息的工具,支持多目录同时替换,同时支持大部分文本类型...2023年5月10日 更新v1.1.0版本,修复xls、xlsx、doc、docx兼容性问题,支持这四种文件的多形式内容替换。

    python+docx批量替换docx文件文本

    搜索文档中是否包含指定词汇,批量替换 暂只支持docx文本替换,若文档中包含表格图片等信息会自动跳过 添加支持表格功能,并可读取csv文件形成关键字

    Word文档批量替换工具.doc

    VBA做的工具,将需要替换的文字输入到表格中,然后一键完成多个文件的替换。特别适合一些格式化文件,比如合同、产品说明、ISO标准化文档(质量手册、程序文件、管理手册)、项目推广方案等,先做批量替换,再进行...

    MAC新建doc文件

    解压之后按住command直接把App文件拖到访达的工具栏 这个文件的图标我是改成了doc的样子,如果恢复默认了的话随便找一个doc文档把图标替换一下就可以。以后创建文档就可以直接点击了

    java使用poi操作.doc word模板替换,循环插入表格

    java使用poi操作.doc word模板替换,循环插入表格

    word文件批量替换(word转xml、xml转字符串、doc转docx)

    涉及知识点:word转xml、xml转字符串、doc转docx 此处主要试讲word文件转换,之前的替换只能替换正文,此处可进行全部替换,像脚注等,都可进行

    文件内容批量替换工具

    一个功能超强的文本查找和替换工具,它可以在多个文档中搜索和替换整段文本。你可以使用 不同的扩展名过滤要搜索的文件,此外你可以从多个文件中插入,替换和删除由...的文本块,支持htm、html、asp、txt、doc等文件。

    vb6字符串替换工具

    vb6字符串替换工具 VB源码 vb6 字符串 替换 工具

    php操作word内容替换

    php更改替换word内容,直接生成.doc文档,非常方便

    全能文本批量替换工具 多文件查找替换

    全能文本批量替换工具 批量查找 批量替换 文本文件处理的好工具 强烈推荐

    使用POI读写Word文件(兼容doc与docx版本)

    NULL 博文链接:https://chong0660.iteye.com/blog/1923735

    超级字符串批量替换工具 2.0 破解版

    1、支持文本/超文本文件,office文档:Word文件(doc)、Excel文件(xls)、PowerPoint幻灯片文件(ppt)的批量内容替换; 2、不仅一次批量处理多个文件更可一次批量处理多组串; 3、替换质量高,如处理Word文档时...

    C# Spire Word替换标签的操作

    C# Spire Word替换标签的操作 ,使用Spire为Word 导入Word模板,进行标签替换,后生成新的Word文件

    批量替换多个Excel文件中信息.doc

    非常好的一个关于Excel批量替换的工具。

    通用批量文件内容简繁替换

    doc txt java sql等常见文件类型 批量简繁转换 代码批量简繁转换 支持文件夹和单文件添加批量转换 原文件输出 //替换要简繁转换的文件夹或逐个添加要替换的文件绝对路径 运行即可批量简繁互转 如sql文件夹下所有...

    正常运行windows所需的文件已被替换成无法识别的版本.doc

    正常运行windows所需的文件已被替换成无法识别的版本 问题:正常运行windows所需的文件已被替换成无法识别的版本。要保持系统的稳定,windows必须还原这些文件的原有版本。现在插入你的...

    文件批量处理百宝箱 v10.0 Build 20160223.zip

    文件批量处理百宝箱 v10.0 Build 20160223更新内容 1.修正完善文档批量替换功能; 2.媒体批量裁剪转换功能模块中,完善媒体播放功能; 3.完善视频加密成exe的功能; 4.PPT文档批量处理功能模块新增批量删除幻灯...

    PowerPoint&PDF插件 for DocSearch(文档内容搜索器) v1.5+.zip

    1、该插件可以支持工具DocSearch(文档内容搜索器)搜索PowerPoint和PDF文档。 2、支持Office2007版本以上的PowerPoint文档(*.pptx)。 3、基于java的开源软件,绿色免安装,经测试不联网,不报毒,完全免费。

    jsp按格式导出doc文件实例详解

    原理:doc文件其实可以保存为xml文件,该xml文件用字符串表示了doc文件的表现形式,我们只需要用Java将那些要填的内容替换掉然后下载给客户就行了。 1.首先是按照你的文档填写好数据。 2.将文档另存为xml文件,然后...

    XReplace(超级字符串批量替换工具) v4.35

    •替换文件内容的同时还可以替换文件名(文件替换改名) •支持大字符集UNICODE字符串的替换,支持中文、韩文、日语等多种语言文字替换。 •替换质量高,可以进行区分大小写替换,处理Word文档时不仅替换一般内容、...

Global site tag (gtag.js) - Google Analytics