1. 程式人生 > >POI操作word文件 (採用mob)

POI操作word文件 (採用mob)

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;


import org.apache.poi.xwpf.usermodel.LineSpacingRule;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPPr;




public class test {

public static void main(String[] args) throws Exception
{
Map<String,String> para=new HashMap<String,String>();
para.put("${applytime}", "applytime");
para.put("${totletime}", "totletime");
para.put("${who}","who");
para.put("${question}", "question");
para.put("${reason}", "reason");
para.put("${fixway}", "fixway");
para.put("${nowtime}", new Date().toString());
loadandreplace("C:\\Users\\Administrator\\Desktop\\test.docx",para);
}

public static  boolean loadandreplace(String srcpath,Map<String,String> parameter) throws Exception
{
String content="";
XWPFDocument doc=new XWPFDocument(new FileInputStream(new File(srcpath)));
FileOutputStream outfile=new FileOutputStream(new File("C:\\Users\\Administrator\\Desktop\\newtest.docx"));
XWPFDocument newdoc=new XWPFDocument();
XWPFParagraph[] paragraphs=doc.getParagraphs();
for(XWPFParagraph temp:paragraphs)
{
//獲取模板段落內容
content=temp.getText();
//建立匯出文件的段落
XWPFParagraph newparagraph=newdoc.createParagraph();
//設定段落位置
newparagraph.setAlignment(temp.getAlignment());
//設定行距
newparagraph.setSpacingLineRule(LineSpacingRule.valueOf(2));
//模板段落樣式
CTPPr p=temp.getCTP().getPPr();
//給匯出檔案模板賦值
newparagraph.getCTP().setPPr(p);
//替換模板中的變數值
XWPFRun run=newparagraph.createRun();
for(String key:parameter.keySet())
{
content=content.replace(key, parameter.get(key));
}
//設定字型大小
run.setFontSize(11);
run.setFontFamily("宋體");
run.setTextPosition(11);
//寫入新的段落中
run.setText(content);
}
newdoc.write(outfile);
return true;
}


}

相關推薦

POI操作word 採用mob

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.Date; import java.util.HashMap; import java.util.Map

poi操作word替換,插入圖片

前段時間專案上要用到一個替換word中的字元以及插入圖片並匯出的功能,google了一番發現別人的程式碼跑起來多多少少有些問題,所以就自己照著poi的api寫了一個工具類,在此記錄下來,如果有需要的朋友可以參考下: 以下是原始碼 WordUtil.jav

利用poi操作word針對docx格式

一:認識POI  Apache POI是一個開源的利用Java讀寫Excel、WORD等微軟OLE2元件文件的專案。最新的3.5版本有很多改進,加入了對採用OOXML格式的Office 2007支援,如xlsx、docx、pptx文件。  POI主頁:poi.apache.org/  二:POI3.5相關下載

java操作wordjacob,poi

專案需要,使用者從系統裡面下載word文件,該文件進行了填寫限制和加密,使用者只能在固定位置填寫內容。現要求系統驗證上傳的附件是否從系統上下載下來的。 思路:系統上面的文件都加入一個固定書籤,使用者上傳文件的時候,檢驗文件裡是否包含這個書籤。 採用jacob

poi操作word,以07版本為參考,將word中圖片替換為文字替換文字也一樣,讀圖片可選文字內容

1、先簡單介紹下word07版本以後的儲存格式,word 07版本以後主要是以xml格式儲存。如果想檢視詳情可將字尾名改為zip,再檢視壓縮檔案可檢視到各種檔案,其中document.xml就是word主要展現給我們大家所看到的內容。2.根據第一步的描述,我查看了docume

通過POI讀取Word.doc

1.jar匯入(https://mvnrepository.com/search?q=poi),一定要注意版本一致(本例是3.0.2) 2.java程式碼 public Map saveTxldl(FileItem upload) { Map result = new Ha

安卓使用POI讀取及修改Word.docx格式

說明:上一篇文章使用poi對.doc格式的word文件進行了讀取和更改,但很多情況下還需要在word文件中插入圖片,這時就需要對.docx格式的word進行操作了。 1.製作文書 文書在原始碼中可以直接看到,簡單說明一下:文書有普通欄位、表格、特定位置的圖片,又在頁首頁尾

使用poi生成word最全例子

1.說明 平時的專案中,我們可能需要做大量的報告。而這些報告中,有些是固定的格式,有些是需要自定義模板來生成。如果是固定的形式的,那麼相對而言是比較好做的,但要是根據模板來生成報告,比如:word、Excel或PDF。這樣的話,可能需要我們花點時間去解決了。這篇部落格主要是

安卓使用POI讀取及修改Word.doc格式

前言:如果你可愛的專案經理要求安卓端的你來操作word實現各種功能,不要猶豫,直接動之以情曉之以理,因為這本來就是java的poi,安卓雖然源自java,但對於java的很多東西是不支援的,已有的各種jar包也不方便更改,各種報錯會搞的你腦闊疼。所以編輯word文件這種事讓後

python-docx操作word*.docx

tin comment turn spl end nta document .sh font 目錄 基礎操作 對象關系 添加樣式 中文字體微軟雅黑,西文字體Times Ne

Java Web 生成Wordfreemarker方式

首先在pom檔案中加入下面這個依賴(不是Maven專案的話,把jar包匯入專案即可) <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</ar

使用Freemarker匯出Word包含圖片程式碼實現及總結

本篇是關於利用FreeMarker匯出Word的實現步驟。採用FreeMarker非常的靈活,能夠按照自己指定的樣式設定並輸出內容,操作簡單方便,程式碼實現也容易。 下面是實現的效果圖: 下面是實現步驟: 1.新增FreeMarker需要的jar包(這裡用的是2.3.28版本,從網上的maven倉庫

Java根據Word模板生成WordFreemarker實現

public class WordExportUtil { private static Configuration configuration; static { configuration = new Configuration(); configur

Jeewx 捷微管家操作配置開源版本

                1.1.1.  公眾帳號管理(1)捷微是第三方微信公眾帳號管理平臺,使用本平臺前,請自行註冊申請微信公眾帳號,操作流程請參照百度經驗【如何註冊微信公眾帳號】:   註冊公眾帳號並通過稽核後,登入微信公眾平臺,在“開發者中心”中點選“開發模式”成為開發者。(2)登入微信公眾平臺h

Word恢復,電腦突然關機 如何一步步將.asd恢復為Word 詳解

剛剛遇到了一個扎心的問題,搗騰了一會兒終於搞定了,相信你肯定也遇到過這樣的一種情況,辛辛苦苦編輯好的Word文件材料,突然間遇上電腦崩潰關機了,文件還沒來得及儲存,哭的心都有了,但哭沒用啦 O(∩_∩)O哈哈~。 那麼如何恢復未儲存的文件呢?你是否有發現自己的電腦中其實還存在著這樣一個

使用Java生成word附原始碼

原文地址:http://blog.51cto.com/favccxx/1331115 當我們使用Java生成word文件時,通常首先會想到iText和POI,這是因為我們習慣了使用這兩種方法操作Excel,自然而然的也想使用這種生成word文件。但是當我們需要動態生成word時,通常不僅要能夠顯

如何將excel表格轉化為word去掉表格

第一次寫這種技術的部落格,有點辛苦,中間有一次,CSDN抽風,導致我不得不重新寫。 這是我自己摸索的,之前參考其他的教程,但是還是有點不同,他們用的是老舊的excel 2010和word 2010。 工

POI 追加寫入wordPOI如何寫入word親測有效POI報錯Fail to save: an error occurs while saving the package

一、POI寫入word文件 首先參考W3Shool的教程(上述快速指南)的“Apache POI Word - 文件”一節,對於建立文件和寫入段落都有清晰的闡釋。我不再贅述。但是其寫入段落的方式每次都會覆蓋曾經寫入的內容。那麼經過我探索一番要這麼處理... 二、POI

apache poi操作office----java線上預覽txt、word、ppt、execel,pdf程式碼

在頁面上顯示各種文件中的內容。在servlet中的邏輯 word:  BufferedInputStream bis = null;   URL url = null;   HttpURLConnection httpUrl = null; // 建立連結   u

C#儀器數據解析-Worddoc、docx

new read ffi 數據文件 word 不同 軟件 情況下 如果 不少儀器數據報告輸出為Word格式文件,同Excel文件,Word文件doc和docx的存儲格式是不同的,相應的解析Word文件的方式也類似,主要有以下方式: 1.通過MS Word應用程序的DCOM