我能够在Word中用Apache POI创建一个表,我的表带有适当的值,但是我想减少表中列大小的单元格大小,该怎么做,请帮忙。我已经做了
XWPFTable table = document.createTable(5,3);
r3.setText("MSH Activity Score Card");
r3.setBold(true);
//creating first row
table.getRow(0).getCell(1).setText("Job ID#");
table.getRow(0).getCell(2).setText("1362");
//creating second row
table.getRow(1).getCell(1).setText("Job Title#");
table.getRow(1).getCell(2).setText("Global Network Architect Consultant");
//creating third row
table.getRow(2).getCell(1).setText("Client");
table.getRow(2).getCell(2).setText("Carnival Corporation");
//creating fourth row
table.getRow(3).getCell(1).setText("Start Date");
table.getRow(3).getCell(2).setText("11/13/2014");
//creating fifth row
table.getRow(4).getCell(1).setText("Days Old");
table.getRow(4).getCell(2).setText("33");
CTTblWidth width = table.getCTTbl().addNewTblPr().addNewTblW();
width.setType(STTblWidth.DXA);
width.setW(BigInteger.valueOf(1500));
我正在获取一个包含数据的表,但我想最小化它的大小
但是我想要这个尺寸
首先,您需要确保已声明库的导入:
import org.apache.poi.xwpf.usermodel.XWPFTableCell;
import org.apache.poi.xwpf.usermodel.XWPFTableRow;
然后就好比,假设您要cell-0
在row-0
以下位置进行格式化:
table.getRow(0).getCell(0).getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(2000));
或在创建最后一行以格式化所有单元格后放入以下代码段:
for(int x = 0;x < table.getNumberOfRows(); x++){
XWPFTableRow row = table.getRow(x);
int numberOfCell = row.getTableCells().size();
for(int y = 0; y < numberOfCell ; y++){
XWPFTableCell cell = row.getCell(y);
cell.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(2000));
}
}
*但是请记住,单元格的宽度将始终随着字符串的长度而增加。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句