zoukankan      html  css  js  c++  java
  • java替换word表格2007

    package demo;
    import java.io.FileOutputStream;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;
    import org.apache.poi.POIXMLDocument;
    import org.apache.poi.xwpf.usermodel.XWPFDocument;
    import org.apache.poi.xwpf.usermodel.XWPFTable;
    import org.apache.poi.xwpf.usermodel.XWPFTableCell;
    import org.apache.poi.xwpf.usermodel.XWPFTableRow;
    public class DocWriter {

        
         public static void searchAndReplace(String srcPath, String destPath,
                    Map<String, String> map) {
                try {
                    XWPFDocument document = new XWPFDocument(POIXMLDocument
                            .openPackage(srcPath));
                    Iterator it = document.getTablesIterator();
                    while (it.hasNext()) {
                        XWPFTable table = (XWPFTable) it.next();
                        int rcount = table.getNumberOfRows();
                        for (int i = 0; i < rcount; i++) {
                            XWPFTableRow row = table.getRow(i);
                            List<XWPFTableCell> cells = row.getTableCells();
                            for (XWPFTableCell cell : cells) {
                                for (Entry<String, String> e : map.entrySet()) {
                                    String key = e.getKey();
                                    String text = cell.getText();
                                    String value = e.getValue();
                                    System.out.println(text);
                                    System.out.println(key);
                                    System.out.println(value);
                                    if (cell.getText().equals(e.getKey())) {
                                        cell.removeParagraph(0);
                                        cell.setText(e.getValue());
                                    }
                                }
                            }
                        }
                    }
                    FileOutputStream outStream = null;
                    outStream = new FileOutputStream(destPath);
                    document.write(outStream);
                    outStream.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }

            public static void main(String[] args) throws Exception {
                HashMap map = new HashMap();
                map.put("${m}", "王五");
                map.put("${n}", "8886666");
                map.put("${t}", "666");
                String srcPath = "D:\01.docx";
                String destPath = "D:\2.docx";
                searchAndReplace(srcPath, destPath, map);
            }
        
    }

  • 相关阅读:
    Android sdk 下载路径
    centos修改用户用户组
    centos7 通过shell切换root用户
    java 服务上传图片到linux没有读写权限
    Mybatis第二天
    Mybatis第一天
    反射
    注解
    多线程第二天
    java---过滤器、监听器
  • 原文地址:https://www.cnblogs.com/guolsblog/p/5956681.html
Copyright © 2011-2022 走看看