我在使用 xdocreport 庫時使用以下模板填充表我正在使用的 Java 代碼如下所示: InputStream in = GenerateStakeholderReport.class.getResourceAsStream( "StakeholderReport_Template.docx" ); IXDocReport report = XDocReportRegistry.getRegistry().loadReport( in, TemplateEngineKind.Velocity ); FieldsMetadata metadata = report.createFieldsMetadata(); metadata.load( "stakeholders", StakeHolder.class, true ); IContext context = report.createContext(); Project project = new Project( "Project 1", "A project for Oragisational Change", "System Implementation", "Bob Yardley","Peter"); context.put( "project", project ); List<StakeHolder> stakeholders = new ArrayList<StakeHolder>(); stakeholders.add( new StakeHolder( "01", "External", "President", "Head Quarter", "High", "5000", "Key Infulencer" ) ); stakeholders.add( new StakeHolder( "02", "Internal", "CEO", "Head Quarter", "High", "2500", "Key Infulencer" ) ); context.put( "stakeholders", stakeholders ); OutputStream out = new FileOutputStream( new File( "StakeHolderReport_Out.docx" ) ); report.process( context, out );我得到的輸出不是我所期望的;未填充表行(應該有 2 行)。此外,沒有顯示兩個列標題我究竟做錯了什么?
2 回答

有只小跳蛙
TA貢獻1824條經驗 獲得超8個贊
您將 foreach 放在列中。你必須排隊。
刪除 foreach 和第一列的末尾。
在表的標題和正文之間創建一條線。
將 foreach 代碼放在這一行。--> #foreach(利益相關者中的$s)
在表格的頁腳中創建一行并將“結束”放在那里。---> #結束

大話西游666
TA貢獻1817條經驗 獲得超14個贊
試著預先考慮@before-row
到第一MERGEFIELD,之前#foreach...
和@after-row
最后一個,之前#end
。
看到這個:https : //github.com/opensagres/xdocreport/wiki/ODTReportingJavaMainListFieldAdvancedTable
添加回答
舉報
0/150
提交
取消