xwpftable設置寬度;POI操作Word設置表格寬度


poi 操作word里表格,如設置表格寬度、行高、表格樣式等。

1.表格或單元格寬度:

默認TblW的type屬性為STTblWidth.AUTO,即自動伸縮。所以要調整為指定類型:STTblWidth.DXA 1)表格寬:

CTTblPr tblPr = xtab2.getCTTbl().getTblPr();

tblPr.getTblW().setType(STTblWidth.DXA);

tblPr.getTblW().setW(new BigInteger("7000"));

單元格寬:

CTTcPr tcpr = cell.getCTTc().addNewTcPr();

CTTblWidth cellw = tcpr.addNewTcW();

cellw.setType(STTblWidth.DXA);

cellw.setW(BigInteger.valueOf(360*5));

2.表格風格

注:如果不設置風格,將采用默認的Normal風格

CTTblPr tblPr = xtab2.getCTTbl().getTblPr();

CTString styleStr = tblPr.addNewTblStyle();

styleStr.setVal("StyledTable");

3.表格行高:獲取表格行的CTTrPr.增加CTHeight屬性

List rows = xtab2.getRows();

for (XWPFTableRow row : rows) {

CTTrPr trPr = row.getCtRow().addNewTrPr();

CTHeight ht = trPr.addNewTrHeight();

ht.setVal(BigInteger.valueOf(360));

......

}

表格行內容垂直居中:

CTVerticalJc va = tcpr.addNewVAlign();

va.setVal(STVerticalJc.CENTER);

4.表格單元格顏色

例如下面的標題行與奇偶行顏色設置

CTShd ctshd = tcpr.addNewShd();

ctshd.setColor("auto");

ctshd.setVal(STShd.CLEAR);

if (rowCt == 0) {

// 標題行

ctshd.setFill("A7BFDE");

}

else if (rowCt % 2 == 0) {

// even row

ctshd.setFill("D3DFEE");

}

else {

// odd row

ctshd.setFill("EDF2F8");

}

5.獲取某指定位置對象並生成新的光標位置

注:這個更新或插入操作比較有用,比如更新文檔目錄.

XmlCursor cursor = doc.getDocument().getBody().getPArray(0).newCursor();

XWPFParagraph cP = doc.insertNewParagraph(cursor);

6.插入圖片:

XWPFParagraph parapictest = document.createParagraph();

XWPFRun runtest = parapictest.createRun();

runtest.setText("圖片:");

XWPFRun pictest = document.createParagraph().createRun();

XWPFPicture picture = pictest.addPicture(new FileInputStream("D://563.jpg"), Document.PICTURE_T YPE_JPEG, "D://563.jpg", 1000*360*10,1000*360*10);
————————————————
版權聲明:本文為CSDN博主「garbageNewbie」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_36161345/article/details/100237170


免責聲明!

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



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