国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

java 使用 POI替換doc中的文字

2024-04-27 15:03:35
字體:
供稿:網(wǎng)友

在web開發(fā)中經(jīng)常碰到需要導(dǎo)出文檔的場景,一般是在Word模板的基礎(chǔ)上添加一些系統(tǒng)數(shù)據(jù)即可,用POI的range可以方便的實現(xiàn)這一需求。 然而,使用getRange方法有可能破壞word文檔中插入的圖片。解決辦法是把文檔中圖片版式改為嵌入型

package com.poi.test;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;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.POIFSFileSystem;public class PoiTest { public static void docReplaceWithPOI(String sourcePath, String targetPath, Map<String, String> map) { HWPFDocument doc = null; try { InputStream inp = new FileInputStream(sourcePath); POIFSFileSystem fs = new POIFSFileSystem(inp); doc = new HWPFDocument(fs); Range range = doc.getRange(); for (Map.Entry<String, String> entry : map.entrySet()) { range.replaceText(entry.getKey(), entry.getValue()); } inp.close(); OutputStream os = new FileOutputStream(targetPath); doc.write(os); } catch (IOException e) { e.PRintStackTrace(); } } public static void main(String[] args) { String sourcePath = "C://model.doc"; String targetPath = "C://output.doc"; Map<String,String> map = new HashMap<String, String>(); map.put("#姓名#", "張三"); map.put("#年齡#", "20"); docReplaceWithPOI(sourcePath,targetPath,map); }}

POI版本是3.9或更高 maven 配置:

<dependency> <groupId>tac.lib</groupId> <artifactId>poi</artifactId> <version>3.9</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>tac.lib</groupId> <artifactId>poi-scratchpad</artifactId> <version>3.9</version> <type>jar</type> <scope>compile</scope> </dependency>
上一篇:5.列偏移

下一篇:web.xml的配置詳解

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 清流县| 普兰县| 承德市| 治县。| 仙居县| 石城县| 长垣县| 丁青县| 积石山| 简阳市| 建昌县| 浪卡子县| 当雄县| 富裕县| 潢川县| 察雅县| 陕西省| 南江县| 海丰县| 永胜县| 会宁县| 巢湖市| 漯河市| 滨州市| 新营市| 塔城市| 山阳县| 新昌县| 穆棱市| 隆德县| 大冶市| 广东省| 汤阴县| 威宁| 鹤山市| 林甸县| 中西区| 崇信县| 庄浪县| 普兰县| 沙洋县|