zoukankan      html  css  js  c++  java
  • 替换word文档自定义书签内容

    /**
    	 * 替换word中指定的内容
    	 * @param tmpFile  待替换的文件
    	 * @param contentMap 要替换的内容集合 key:书签名 value:待替换的内容 
    	 * @param exportFile 替换后的文件
    	 * @throws Exception
    	 */
    	public void creatWordByModel(String  tmpFile, Map<String, String> contentMap, String exportFile){
    
    		InputStream in = null;
    		OutputStream outputStream=null;
    		try {
    			in = new FileInputStream(new File(tmpFile));
    
    			HWPFDocument document = null;
    			document = new HWPFDocument(in);
    
    			Bookmarks bookmarks = document.getBookmarks();
    			System.out.println(bookmarks);
    			for(int dwI = 0;dwI < bookmarks.getBookmarksCount();dwI++){
    				Bookmark bookmark = bookmarks.getBookmark(dwI);
    				if(contentMap.containsKey(bookmark.getName())){
    					Range range = new Range(bookmark.getStart(),bookmark.getEnd(),document);
    					range.replaceText(contentMap.get(bookmark.getName()),false);
    				}
    			}
    
    		//导出到文件
    			ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    			document.write((OutputStream)byteArrayOutputStream);
    			outputStream = new FileOutputStream(exportFile);
    			outputStream.write(byteArrayOutputStream.toByteArray());
    		} catch (IOException e) {
    			e.printStackTrace();
    		}finally {
    			try {
    				if(in!=null){
    					in.close();
    				}
    				if(outputStream!=null){
    					outputStream.close();
    				}
    			} catch (IOException ioException) {
    				ioException.printStackTrace();
    			}
    		}
    	}
    

      

  • 相关阅读:
    pythonchallenge(二)
    pythonchallenge(三)
    pythonchallenge(一)
    [译]Python编写虚拟解释器
    [译]用R语言做挖掘数据《七》
    [译]用R语言做挖掘数据《六》
    [译]用R语言做挖掘数据《五》
    编译安装php容易出现的问题以及解决办法
    关于nodejs模块安装后找不到包解决办法
    gulp的入门
  • 原文地址:https://www.cnblogs.com/charliepan/p/13448235.html
Copyright © 2011-2022 走看看