0
私はapache POIの完全な初心者です。私はすでにいくつか試してみました。私の問題は、私はdocx-Fileにいくつかのブックマークがあり、それらの値を置き換えることです。ブックマークの値を読んで、ポップアップで置き換える方法POI
は、私はすでにこれまでのところ私は、ブックマークにテキストを追加することを得たが、以前の値がまだそこにある
私のコード:
InputStream fis = new FileInputStream(fileName);
XWPFDocument document = new XWPFDocument(fis);
List<XWPFParagraph> paragraphs = document.getParagraphs();
for (XWPFParagraph paragraph : paragraphs)
{
//Here you have your paragraph;
CTP ctp = paragraph.getCTP();
// Get all bookmarks and loop through them
List<CTBookmark> bookmarks = ctp.getBookmarkStartList();
for(CTBookmark bookmark : bookmarks)
{
if(bookmark.getName().equals("Firma1234"))
{
System.out.println(bookmark.getName());
XWPFRun run = paragraph.createRun();
run.setText(lcFirma);
ctp.getDomNode().insertBefore(run.getCTR().getDomNode(), bookmark.getDomNode());
}
}
}
OutputStream out = new FileOutputStream(output);
document.write(out);
document.close();
out.close();
「lcFirma」の値が「ファーマ」である 後
Testmark -> name=Firma1234
私のDOCX-ファイル:
ブックマークの値は、前 私のdocxファイル・ファイル "Testmark" でありますFirmaTestmark
私はテキストを置き換えるのではなく、ブックマークの値の前に挿入すると言いましたが、代わりにテキストを置き換えますか?
挨拶、
ケビン
の下に試してみてください、私は何かをmissunderstandか、またはあなたのコードは、ちょうどすべてのbookmarknamesを取得していますか?ブックマークの値を置き換える部分はどこですか? –