xwpftable设置宽度;POI操作Word设置表格宽度

您所在的位置:网站首页 在word中如何调整单元格的宽度和高度和宽度一致 xwpftable设置宽度;POI操作Word设置表格宽度

xwpftable设置宽度;POI操作Word设置表格宽度

2024-07-11 11:12| 来源: 网络整理| 查看: 265

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);



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3