2012-10-31 40 views
1

我正在撰寫SSRS報告,其中我的客戶希望報告標題包含報告所基於的標準(實際上,這是報告變量,如日期)。適用於excel的SSRS報告格式

我試圖用文本框做到這一點,但似乎無法以這樣的方式放置文本框,導出爲Excel時沒有瘋狂的單元格合併。

我也試着用報表正文中的表做這件事,但得到了添加到報表的每一行的變量。

我沒有看到位置屬性,就好像我只是在網頁表單中工作一樣,但是卻不知所措。有什麼建議麼?謝謝!

回答

1

不幸的是,導出到Excel時,單元格合併是生活中的事實,這就是報表渲染引擎如何試圖保持原始報表設計的保真度。儘量減少這種情況的最佳方式是確保報表元素的邊緣儘可能彼此對齊,以便呈現器可以對齊報表而無需合併單元格。

通過在報告標題中放置文本框來顯示所選報告參數的值,您正在做的是一個常用的好方法,因此請繼續試驗佈局以使其正確對齊。

如果您可以描述當您更詳細地導出報告時發生的情況,我可能會提供更多的建議。

+0

感謝您的幫助Nathan!這幾乎是我期待的,但只是想驗證我認爲我已經知道的。 –

+2

爲了避免單元格合併,請爲您的報表選擇一個網格大小(例如0.25英寸),並確保每個元素都以適當的倍數開始,並且尺寸爲偶數倍。 –

1

在我的報告中,我在報告末尾添加了一個附加表格,並在Tablix之前分配了分頁符。在大單格表中,我使用帶引號的文本,內置字段和參數值編寫句子以列出所有參數信息。我將Tablix的名稱標記爲「參數」,因此當下載報告時,所有參數數據都以良好的非侵入式格式進行處理。在故障排除報告時,這已證明非常有用。

下面是一個例子:

=全局REPORTNAME + +用戶 「的運行」 的 「上」 +的FormatDateTime(全局ExecutionTime,DateFormat.ShortDate!)+用戶名+ + vbcrlf + 「!」。」參數:「+」程序(「+ Parameters!BusinessEntityID.Label +」),可交付狀態代碼(「+ Join(參數!DeliverableStatusCode.Label,」,「)+ 」),Science Area(「+ Parameters!ScienceAreaID.Label +「),推力區域(」+參數!ThrustAreaID.Label +「),中心(」+ Parameters!CenterID.Label +「)」 +參數!TaskActiveFrom.Value is Nothing,「」,「,Tasks Active之間「+ FormatDateTime(參數!TaskActiveFrom.Label,DateFormat.ShortDate)(參數!TaskStartFrom.Value是Nothing,「」,「,」FormatDateTime(參數!TaskStartFrom.Label,DateFormat)之間已啓動的任務「,」「和」+ FormatDateTime(Parameters!TaskActiveTo.Label,DateFormat.ShortDate)) + IIF .ShortDate) +「and」+ FormatDateTime(Parameters!TaskStartTo.Label,Dateformat.ShortDate)) + IIF(Parameters!DeliverablePlannedFrom.Value is NOTHING,「」,「,Deliverable Due Date between」+ FormatDateTime(Parameters!DeliverablePlannedFrom (參數!DeliverableExtendedFrom.Value是Nothing,「」,「,Deliverable Revised Due between Date between」+「和」+「格式日期時間(參數!DeliverablePlannedTo.Label,Dateformat.ShortDate)) + FormatDateTime(參數!DeliverableExtendedFrom.Label,Dateformat.ShortDate) +「and」+ FormatDateTime(Pa (參數!PublicationReceivedDateFrom.Label,Dateformat。),其中的參數!PublicationReceivedDateTime(參數!PublicationReceivedDateFrom.Label,Dateformat.Label,Dateformat.ShortDate)) + IIF(參數!PublicationReceivedDateFrom.Value是NOTHING,「」,「ShortDate) +「and」+ FormatDateTime(Parameters!PublicationReceivedDateFrom.Label,Dateformat.ShortDate))