2010年4月27日 星期二

SSRS render excel 怪事

有一張用SSRS2005做出來的表,在TABLE HEADER要依資料動態顯示不同的TITLE

在IE 瀏覽看來都很正常,但匯出到EXCEL 2003 時,發現TITLE後面多了一個空白,以致於匯出到EXCEL 2003後,表頭內的文字變成了二行,其中第二行是空白, 但匯出PDF和列印都是正常

必須手動在這個儲存格中,後面的空白刪掉,表頭才會顯示正常

因為匯出EXCEL 2003才有這個問題,而且匯出EXCEL 2007沒有這個問題, 所以一直以為是RDL render 的問題

由於表頭的值是依dataset 的某VARCHAR欄位動顯示出來的, 所以回頭去看TABLE內的欄位值時,也沒發現有任何空白存在.

直到, 用SQL LEN function去查看欄位的長度時,才發現,原本應該只有長度9的內容值,竟然變成10

光是用眼睛看,真的明明只有看到 9個中文字啊...

再查了一下,   select len(replace(orgnDescription,char(13),'')) from organization


原來欄位內容值最後面多了一個換行符號(當初這個資料是轉進來的)
執行更新語法後, update organization set orgnDescription = replace(orgnDescription,char(13),'')

再查詢報表,匯出EXCEL , 問題就解決了.

所以開發後,要測試,除了IE版本要比照人客的環境外,連OFFICE也得要一致才行啊

沒有留言:

張貼留言

publish error allowDefinition='MachineToApplication'

一個老舊的aspx web form專案,調了一些功能建置成功,但進行部署時顯示以下錯誤。 在應用程式層級之外使用註冊為 allowDefinition='MachineToApplication' 的區段發生錯誤。錯誤的原因可能是虛擬目錄尚未在 IIS 中設定為...