Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java itext7中的嵌套大表_Java_Itext_Itext7 - Fatal编程技术网

Java itext7中的嵌套大表

Java itext7中的嵌套大表,java,itext,itext7,Java,Itext,Itext7,我已经看到,在itext 7中处理大型表的最佳方法在 我有一张桌子在另一张桌子里面。如果大桌子是里面的那张呢 Table outTable = new Table(new float[]{1f},true); Cell cellHeader1 = new Cell(); cellHeader1.add(new Paragraph("Header 1").addStyle(style)); outTable.addHeaderCell(cellHeader1); document.add(ou

我已经看到,在itext 7中处理大型表的最佳方法在

我有一张桌子在另一张桌子里面。如果大桌子是里面的那张呢

Table outTable = new Table(new float[]{1f},true);

Cell cellHeader1 = new Cell();
cellHeader1.add(new Paragraph("Header 1").addStyle(style));
outTable.addHeaderCell(cellHeader1);

document.add(outTable);

for (int i=0; i<smallArray.size();i++) {
    Table innerTable = new Table(new float[]{0.5f,0.5f},true);
    Cell cellHeader2 = new Cell(1,2);
    cellHeader2.add(new Paragraph("Header 2").addStyle(style));
    innerTable.addHeaderCell(cellHeader2);

    Cell cellInnerTable = new Cell();
    cellInnerTable.add(innerTable);
    outTable.addCell(cellInnerTable);

    for(int j=0;j<bigArray.size();j++){
        //add cells to innerTable;
        if (j%20==0){
            innerTable.flush();  (1)
            outTable.flush(); (2)
        }
    }

    innerTable.complete(); (1)
}
outTable.complete();
Table outTable=new Table(new float[]{1f},true);
Cell cellHeader1=新单元格();
单元格标题1.添加(新段落(“标题1”).添加样式(样式));
outTable.addHeaderCell(cellHeader1);
文件。添加(输出表);

对于(int i=0;i不幸的是,只有将大型表直接添加到
文档中时,才支持它们。不支持内部大型表,并且没有计划在最近的将来添加对内部大型表的支持。

不幸的是,只有将大型表直接添加到
文档中时,才支持它们。
r不支持大型表,并且近期内也没有计划添加对内部大型表的支持。

请尝试:

for(int j=0;j<bigArray.size();j++){
    //add cells to innerTable;
    if (j%20==0){
        Cell cellContent = new Cell(1,2).add(innerTable);
        outTable.addCell(cellContent);
        innerTable.flushContent();  // API says is internal but is public and works OK
        outTable.flush();
    }
}
对于(int j=0;j尝试:


(int j=0;j)这太遗憾了。谢谢!那太遗憾了。谢谢!