POI導出word文檔里的符號,親測有效


word文檔里的符號字體是Wingdings,選中需要插入的符號,它會有顯示對於的字符代碼,字符編碼是Unicode

 

 

 比如我現在選中了一個打勾方框符號,可以看到它的字符代碼為“00FE”,所以我們在代碼給XWPFRun對象設置的文本內容就是“\u00FE”,需要注意的是:字符代碼前要加上"\u"表示內容為unicode編碼

下面是導出文檔的代碼:

 1 import java.io.File;
 2 import java.io.FileNotFoundException;
 3 import java.io.FileOutputStream;
 4 import java.io.IOException;
 5 import java.io.UnsupportedEncodingException;
 6 
 7 import org.apache.poi.xwpf.usermodel.XWPFDocument;
 8 import org.apache.poi.xwpf.usermodel.XWPFParagraph;
 9 import org.apache.poi.xwpf.usermodel.XWPFRun;
10 
11 public class DownloadWordSymbol {
12 
13     public static void main(String[] args) {
14         //生成一個文檔對象
15         XWPFDocument document = new XWPFDocument();
16         XWPFParagraph paragraph = document.createParagraph();  //創建一個段落
17         XWPFRun run = paragraph.createRun();  //創建段落里的一段文本
18         run.setFontFamily("Wingdings");//設置文本字體
19         run.setText("\u00FE");//往文本里添加一個打勾方框符號
20         
21         //導出word文檔,放在D盤
22         String fileName = "D:/poi導出word文檔符號.docx";
23         //設置文檔編碼格式為UTF-8
24         String encode = System.getProperty("file.encoding"); 
25         try {
26             fileName = new String(fileName.getBytes("UTF-8"),encode);
27         } catch (UnsupportedEncodingException e1) {
28             e1.printStackTrace();
29         }
30         try {
31             FileOutputStream fout = new FileOutputStream(fileName);
32             document.write(fout);
33             fout.close();
34         } catch (FileNotFoundException e) {
35             e.printStackTrace();
36         } catch (IOException e) {
37             e.printStackTrace();
38         }
39         System.out.println("生成文檔成功");
40     }
41 
42 }

 

以下是導出的效果:

 

 

如果想了解更多關於使用POI導出word文檔的方法,可以看另一篇 文章:

java使用POI導出word文檔,包含文本、表格、圖片:https://www.cnblogs.com/dqccc/p/13836720.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM