Birt报告和如何使用一张纸在Excel上显示记录?

时间:2013-07-09 13:47:32

标签: birt

我在grails应用程序中使用了birt。目前导出到excel工作,但如果让我们说:

  • 你有100条记录

它会:

  • 在一张表中显示40条记录,最终您的Excel文件中将有3张。

我想知道如何将它们导入一张表格中:

  • 显示所有100条记录。

我用Google搜索了它。我无法为我的IDEAS提出明确的解决方案。


我在Birt中使用以下代码:

def IRenderOption options = null
case ReportTypeEnum.XML:
    //TODO:
    options = new RenderOption(outputFormat: "xml")
    break

我使用的发射器是:

options = new EXCELRenderOption(outputFormat: "xls")
optiions.setEmitterID("uk.co.spudsoft.birt.emitters.excel.XlsEmitter") 
println "Report:"+ options.isEnableMultipleSheet() 

有人有任何想法吗? 示例: sAMPLE rEPORT ON EXCEL

4 个答案:

答案 0 :(得分:2)

解决方案不是修改某些代码或更改发射器,而是简单,如下所示 真正的挑战可能是通过检测报告类型在运行时设置此属性,因为您可能不会将所有分页内容应用到您的所有页面......

enter image description here

谢谢Bini。 请参阅此网站博客,其中包含所有正确答案。 http://www.biny08.blogspot.com/2013/06/spudsoft-excel-emitter-single-sheet.html#more

请          分页间隔= 0(无限制)或您的客户价值

并设置          重复标题为

完成!你会在一张纸上看到你的所有记录。 Awsome :)!

答案 1 :(得分:1)

我几个月来一直在寻找这个问题的答案,最后我自己找到了: 没有必要编写代码,只需考虑一下:

XLSX导出与TOC或表的第一组中的根项目一样多。如果只有一个项目,你只能得到一张。

  • 在您的设计中,在主表中创建一个空组,其中包含以下规范:
  • name:Root
  • group on:null(在字段中输入这4个字母)
  • 目录:'客户列表' (你可能想要的任何文字) 没有问题,如果你有其他组,只需将其放在其他组之前(剪切/粘贴)

然后你将获得一个TOC(目录表)作为第一级,你的组只包含你定义的文本。

这样,您还可以将html视图或pdf导出与原始页面保持一致,这在您使用TOC时非常有用。想象一下,拥有10万个项目,您可以创建3个组: - 一个带有TOC文本的空组,如人口' - 第二个只包含名字的第一个字母(你应该得到26个项目) - 最后一个包含人名

然后,每个子组只需要管理100000/26 = 3846个项目。

对于那些想要excel表的人,请记住:第一组项目数等于excel表计数....

答案 2 :(得分:0)

点击数据集。打开同一数据集的属性编辑器。 转到分页符选项,并将分页符间隔设置为最大数量。我试过,2147483647是BIRT设计师的最大数量。

设置选项如下。

BookViewModel

如果希望在2147483647行之后数据溢出到excel中的下一个工作表时标题可用,请勾选重复标题。

附上屏幕截图以供参考。

Click to open screenshot

答案 3 :(得分:0)

这对我有用

  1. 选择整个表格
  2. 转到属性
  3. 选择分页符
  4. 将分页符间隔设置为0

完成。