1

さまざまな ODFDOM クラスを処理する方法を探していますが、これを解決する方法をオンラインでドキュメントを見てもわかりません。

  1. 別のテーブルにリストしたい ArrayList を取得しました。各ページの最後に 3 つの異なるテーブルがあるはずです。つまり、ArrayList に約 20 人の人物が格納されている場合、約 7 ページで、各ページには 3 つのテーブルが含まれている必要があります。

  2. テーブルと配列リストを出力できる小さなクラスを書きましたが、それでも次の 3 つの点が欠けています。

    を。行/セルの高さの修正定義はどうですか? それとも、1 つのテーブルの全体的な高さですか? 高さを固定したいのですが、1 つのセル内のテキストを折り返すことができますが、折り返しは 4 行を超えてはなりません。5 つの行がある場合、テーブル全体の高さは同じままにする必要があります。

    b. セルのプロパティ、つまりフォント サイズ、種類、色などを定義するにはどうすればよいですか。また、テーブルまたはセルの境界線を定義するにはどうすればよいですか?

    c. データと同じ高さの 3 つのテーブルを正確に取得するには、3 つのテーブルの後にページ区切りまたは段落区切りを含めるようにプログラムに指示するにはどうすればよいですか。

クラスはこちら

import java.util.List;
import static org.odftoolkit.odfdom.dom.style.OdfStyleFamily.Table;
import org.odftoolkit.simple.TextDocument;
import org.odftoolkit.simple.table.Cell;
import org.odftoolkit.simple.table.Row;
import org.odftoolkit.simple.table.Table;

public class Test
{
    public void doIt(TextDocument document, Person person, int y)
    {

        try
        {
            int row = 6;
            int column = 2;

            Table table = Table.newTable(document, row, column);
            table.setTableName("BigFive" + y);

            if (table != null)
            {
                long width = 170;
                table.setWidth(width);
                table.setVerticalMargin(0.1, 0.1);
            }

            List<Row> rows = table.getRowList();
            for (int x = 1; x < rows.size(); x++)
            {
                rows.get(x).setHeight(22f, true);
            }

            for (int i = 0; i < rows.size(); i++)
            {

                Cell cell = table.getCellByPosition(0, i);

                if (i == 0)
                {
                    cell.setStringValue(person.getItem(i));
                }
                else
                {
                    cell.setTextWrapped(true);
                    cell.setStringValue(person.getItem(i));
                }

            }
        }
        catch (Exception e)
        {
            System.out.println("Error in " + e);
        }
    }
}
4

0 に答える 0