1

我正在寻找如何处理不同的 ODFDOM 类,我无法找到查看在线文档如何解决这个问题:

  1. 我有一个 ArrayList ,我想在不同的表中列出它。每页最后应该有 3 个不同的表,即如果在 ArrayList 中存储大约 20 个 Persons,它应该是大约 7 页,每页包含 3 个表。

  2. 我写了一个小类,可以打印出tables,还有arraylist,但是还是漏掉了以下三点。

    一个。行/单元格高度的修复定义如何?还是一张桌子的整体高度?我想有一个固定的高度,一个单元格中的文本可以被换行,但换行不应该超过四行。如果我有 5 行,则表格的总高度应该保持不变。

    湾。如何定义单元格的属性,即字体大小、种类、颜色等。另外,如何定义表格或单元格的边框?

    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