我使用Apache POI为docx制作了一个简单的XWPFTable,但是如果单元格的文本很短,则单元格/行会调整大小以适应文本。如何设置它,以便无论文本的长度如何,表格/行都会从整个页面的左侧延伸到右侧?感谢。
如果有帮助,这是代码的表格部分:
XWPFTable header = document.createTable(1, 3);
header.getRow(0).getCell(0).setText("LCode");
header.getRow(0).getCell(1).setText("QTY");
header.getRow(0).getCell(2).setText("Description/Justification");
XWPFTable table = document.createTable(LCodes.size(), 3);
int x = 0;
for (Map.Entry entry : new TreeMap<Integer, List<String>>(LCodes).entrySet()) {
Object LCode = entry.getKey();
table.getRow(x).getCell(0).setText("L" + LCode);
table.getRow(x).getCell(1).setText(LCodes.get(LCode).get(2));
XWPFParagraph para = table.getRow(x).getCell(2).getParagraphs().get(0);
for (int i = 0; i < 2; i++) {
if (i == 1 && LCodes.get(LCode).get(i).trim().equals("")) {
continue;
}
XWPFRun leading = para.createRun();
leading.setItalic(true);
if (i == 0) {
leading.setText("Description: ");
} else {
leading.setText("Justification: ");
}
XWPFRun trailing = para.createRun();
trailing.setText(LCodes.get(LCode).get(i));
if (i == 0 && !(LCodes.get(LCode).get(i).trim().equals(""))) {
trailing.addBreak();
}
}
x++;
}
答案 0 :(得分:0)
要拉伸xwpf表的宽度,您需要执行以下操作。 1.在示例xwpf文档中创建表。 2.下载与zip相同的文档并解压缩document.xml文件。 3.找到
另一个解决方案:如果您不想从所有这些中取出并隐藏表格边框。您可以在表格的第一列中添加以下XWPFparagraph,这样就可以了。
//add this para in first column to get table width, 84pts total
private XWPFParagraph getFirstColumnText(){
XWPFParagraph para=new XWPFDocument().createParagraph();
XWPFRun run=para.createRun();
run.setColor("ffffff");
run.setText("...................................................................................");
return para;
}