首页 > 编程 > Java > 正文

java简单操作word实例

2019-11-26 14:31:12
字体:
来源:转载
供稿:网友

本文为大家分享了java简单操作word例子,供大家参考,具体内容如下

package apache.poi;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.util.HashMap;import java.util.Map;import org.apache.poi.hwpf.HWPFDocument;import org.apache.poi.hwpf.usermodel.Range;import org.apache.poi.poifs.filesystem.DirectoryEntry;import org.apache.poi.poifs.filesystem.POIFSFileSystem;public class ExportDocTest {    public static void main(String[] args) {    String destFile="D://11.doc";    //#####################根据自定义内容导出Word文档#################################################    StringBuffer fileCon=new StringBuffer();    fileCon.append("        张大炮      男       317258963215223/n" +        "2011   09    2013   07    3/n" +        "  二炮研究       成人/n" +        "2013000001               2013   07   08");    fileCon.append("/n/r/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n");        new ExportDocTest().exportDoc(destFile, fileCon.toString());        //##################根据Word模板导出单个Word文档###################################################    Map<String, String> map=new HashMap<String, String>();        map.put("name", "Zues");    map.put("sex", "男");    map.put("idCard", "200010");    map.put("year1", "2000");    map.put("month1", "07");    map.put("year2", "2008");    map.put("month2", "07");    map.put("gap", "2");    map.put("zhuanye", "计算机科学与技术");    map.put("type", "研究生");    map.put("bianhao", "2011020301");    map.put("nowy", "2011");    map.put("nowm", "01");    map.put("nowd", "20220301");    //注意biyezheng_moban.doc文档位置,此例中为应用根目录    HWPFDocument document=new ExportDocTest().replaceDoc("biyezheng_moban.doc", map);    ByteArrayOutputStream ostream = new ByteArrayOutputStream();    try {      document.write(ostream);      //输出word文件      OutputStream outs=new FileOutputStream(destFile);      outs.write(ostream.toByteArray());      outs.close();    } catch (IOException e) {      e.printStackTrace();    }      }      /**   *    * @param destFile   * @param fileCon   */  public void exportDoc(String destFile,String fileCon){    try {      //doc content      ByteArrayInputStream bais = new ByteArrayInputStream(fileCon.getBytes());      POIFSFileSystem fs = new POIFSFileSystem();      DirectoryEntry directory = fs.getRoot();       directory.createDocument("WordDocument", bais);      FileOutputStream ostream = new FileOutputStream(destFile);      fs.writeFilesystem(ostream);      bais.close();      ostream.close();          } catch (IOException e) {      e.printStackTrace();    }  }      /**   * 读取word模板并替换变量   * @param srcPath   * @param map   * @return   */  public HWPFDocument replaceDoc(String srcPath, Map<String, String> map) {    try {      // 读取word模板      FileInputStream fis = new FileInputStream(new File(srcPath));      HWPFDocument doc = new HWPFDocument(fis);      // 读取word文本内容      Range bodyRange = doc.getRange();      // 替换文本内容      for (Map.Entry<String, String> entry : map.entrySet()) {        bodyRange.replaceText("${" + entry.getKey() + "}", entry            .getValue());      }      return doc;    } catch (Exception e) {      e.printStackTrace();      return null;    }  }}

以上就是本文的全部内容,希望对大家的学习有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表