接上一篇poi導出wordhttp://www.survivalescaperooms.com/xiufengd/p/4708680.html。
public static void setAuto(XWPFDocument doc) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalaccessException, ClassNotFoundException{ List<POIxmlDocumentPart> list = doc.getRelations(); //設置一些Word文檔的兼容屬性 for(POIXMLDocumentPart p:list) { if(p instanceof XWPFSettings) { XWPFSettings settings = (XWPFSettings)p; //反射獲得ctsettings的反射對象 Field field = null; //反射三種方式// field = settings.getClass().getDeclaredField("ctSettings");// field = XWPFSettings.class.getDeclaredField("ctSettings"); field = Class.forName("org.apache.poi.xwpf.usermodel.XWPFSettings").getDeclaredField("ctSettings"); //將私有的成員變量公有化,以便能修改。 field.setAccessible(true); //生成新的Word設置類CTSettings的對象實例,設置UlTrailSpace,使得word為行尾的空格顯示下劃線 CTSettings att = CTSettings.Factory.newInstance(); att.addNewCompat().addNewUlTrailSpace().setVal(STOnOff.ON); //添加對象 field.set(settings, att); break; } } }
新聞熱點
疑難解答