1

Apache POI for 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++;
        }
4

1 に答える 1

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;
}
于 2014-02-21T06:52:59.343 に答える