本文为大家分享了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; } } }
以上就是本文的全部内容,希望对大家的学习有所帮助。
本文地址:https://www.stayed.cn/item/9097
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我