0
    Java Code : 
    ==========
    List<DosData> dosData = new ArrayList<DosData>();
    DosData data1 = new DosData();
    data1.setDosStart("10/10/2014");

    DosData data2 = new DosData();
    data2.setDosStart("11/10/2014");

    DosData data3 = new DosData();
    data3.setDosStart("12/10/2014");

    dosData.add(data1);
    dosData.add(data2);
    dosData.add(data3);
    context.put("dosData", dosData);



    I should get the Result Below : 

     ---------------------------------------  
    |10/10/2014  |  11/10/2014  | 12/10/2014|
     ---------------------------------------

    I have used Below code to display : 

     ----------------------------
    |                           |
    |                           |
    |                           |
    |       «@before-cell#      |
      foreach($d in $dosData)   |
        »«$d.dosStart»«@after-  |
        cell#end»               |
    |                           |
    |                           |
    |                           |
    |                           |
     -------------------------

当我使用上面的代码时,会出现一些异常,如下所示:

org.apache.fop.fo.ValidationException:行中的列数或单元格数溢出为表指定的 fo:table-columns 数。(没有可用的上下文信息)在 org.apache.fop.events.EventExceptionManager.throwException(EventExceptionManager.java:54) 在 org.apache.fop 的 org.apache.fop.events.ValidationExceptionFactory.createException(ValidationExceptionFactory.java:38) .events.DefaultEventBroadcaster$1.invoke(DefaultEventBroadcaster.java:175) at $Proxy297.tooManyCells(Unknown Source) at org.apache.fop.fo.flow.table.TableCellContainer.addTableCellChild(TableCellContainer.java:51) at org.apache .fop.fo.flow.table.TableRow.addChildNode(TableRow.java:95) 在 org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:315) 在 org.apache.fop.fo.FOTreeBuilder .

任何人都可以帮我解决这个问题,我是新手。

4

1 回答 1

0

看来您使用的是 XDocReport docx->fop 转换器。这个转换器只是一个 POC。今天我们放弃了:必须使用XDocReport itext docx->pdf 转换器。

一开始我建议你不要转换报告看生成的docx是否正常。

于 2014-11-27T07:58:38.177 回答