在BIRT上的表格细节垂直合并单元格

是否可以垂直“合并”行,使报告看起来整洁? 如下所示:

+-----------+--------+--------------+ | Tbl Hdr | Group | User | +-----------+--------+--------------+ |Very long | [User] | [Reputation] | |description+--------+--------------+ |of the | [User] | [Reputation] | |group +--------+--------------+ | | | | +-----------+--------+--------------+ 

代替:

 +-----------+--------+--------------+ | Tbl Hdr | Group | User | +-----------+--------+--------------+ |Very long | [User] | [Reputation] | |description| | | |of the | | | |group | | | +-----------+--------+--------------+ | | [User] | [Reputation] | +-----------+--------+--------------+ | | | | +-----------+--------+--------------+ 

我可以在报告中使用jQuery代码进行合并,但只能在HTML中工作。 我不能在Excel中find解决scheme,可能是我不知道的一些技巧。 或者不知何故,我可以在Java代码中的IRunTask run()之后通过代码合并单元。 Iam使用Eclipse BIRT Designer版本4.3.2.v20140211-1400 Build <4.3.2.v20140218-1056>

谢谢阅读。

我认为你需要在表中使用分组function。

其中一个教程在这里: http : //developer.actuate.com/be/documentation/ihub2-web/birtos/fg44/index.html#page/birt-os/grouping.1.16.html

谷歌更多关于它使用关键字“BIRT表分组”,也不要忘记在组头小区中使用“丢弃细节”。 在你的情况下,它将是包含“非常长的描述”文本的单元格。

对于你的第一个问题:

你可以垂直合并这个行,就像你做的那样。

select单元格,然后单击合并

为了在你的例子中完成你想要的function,你需要做的只是select“非常长的描述”的单元格,并select“取消合并单元格”。 这将取消合并“Tbl Header”列中的单元格,并将内容复制到列(位于“Tbl Hdr”单元格下方)的顶部单元格中。

但从你的问题是听起来像你正在寻找一种方法来合并垂直细胞。

下面的macros将做到这一点。 select要合并的单元格,然后运行macros。

macros在一列中对选定单元格的垂直集合进行处理。 它将删除单元格的内容,并将所有单元格的合并版本(由换行符分隔)放在顶部单元格中。

注意macros中被注释掉的3行,直到最后。 如果您取消注释这些macros,macros也将删除其内容现在合并到顶部单元格的行。 这有时是有用的。

 Sub MergeCells() Dim myString As String Dim myUnion As Range Count = Selection.Count If Count > 1 Then myValue = Selection myrow = Selection.Row mycol = Selection.Column myString = "" For Index = 1 To Count If Index > 1 Then myString = myString & Chr(10) & myValue(Index, 1) Else myString = myValue(Index, 1) Next Index Selection.ClearContents Cells(myrow, mycol) = myString ' For Index = 1 To Count - 1 ' Rows(myrow + 1).Delete ' Next Index Cells(myrow, mycol).Select End If End Sub 

问候,迈克尔