2016-08-05 93 views
0

我有一個SSRS報告,其中包含一列,導出到Excel(XLSX)時正確顯示,但導出爲CSV時,它提供了一個錯誤,我似乎無法弄清楚修理。SSRS導出爲CSV錯誤

的列值是以下表達式(抱歉的格式,SSRS使得難以這個格式化爲容易可讀語句):

=IIF(IsNothing(Fields!SomeField1.Value) Or Fields!SomeField1.Value = "", 
    "", 
    (Replace("- " + Fields!SomeField1.Value, 
       ",", 
       vbCrLf + "-"))) 
+ IIF(IsNothing(Fields!SomeField2.Value) Or Fields!SomeField2.Value = "", 
     "", 
     vbCrLf + "- " + Fields!SomeField2.Value) 

在CSV文件中顯示的錯誤是:

error

CSV公式欄中的值顯示爲=- N/A-似乎是導致錯誤的原因,但我不明白爲什麼。此行爲特別奇怪,因爲有在如- Test comment- Yet another testing comment,沒有任何錯誤顯示相同的列值其它行......因爲企業要列顯示爲項目符號列表,需要

-字符。有沒有辦法解決這個問題,而不刪除-

回答

1

您可以在單元格值的前面添加一個撇號(「字符」),告訴Excel您輸入到單元格中的值將被視爲文本而不是公式,並且應該按原樣顯示。

Using apostrophe to treat cell value text

+0

這隻能解決手動輸入'''字符生成CSV後的問題。當SSRS將報告呈現給CSV時,我需要一些能解決它的東西。我一直試圖讓這個解決方案使用自定義函數,但它很麻煩,涉及更多嵌套的'IIF'語句(我想避免...)。任何有關如何使它正確渲染的建議? –

+0

啊,我明白了......很難說沒有在那裏。輸出中是否有特殊字符會造成CSV?如果您能夠共享文件,我很樂意嘗試和幫助。 – Bobsickle

+0

不幸的是,這有客戶端數據,我沒有時間去清理它。我想我可能會使用你的解決方案並檢測渲染格式來確定是否需要添加'''。謝謝! –

1

對不起沒有代表發表評論,但你可以使用全局變量!RenderFormat =「CSV」添加格式到該字段的表達只是周圍添加您的代碼塊的額外IIF語句。它不應該需要一個額外的功能(除非需要多於一個字段)

+0

感謝您的輸入。這是一個以上的領域所需要的,所以我把它作爲一個功能。 –