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