在SSRS 2008 R2
报告中,用户将数据导出到: csv(逗号分隔)和 excel 。
我正在使用以下内容显示列是否可见:
=IIF(Mid(Globals!RenderFormat.Name,1,5)="EXCEL" AND First(Len(Fields!CustomerNumber.Value)) > 0,False,true)
我为显示值的文本框设置了DataElementOutput=Output
。
我已将DataElementOutput=Auto
留给包含列标题的文本框。
导出到 csv(逗号分隔)或 excel 时,我基本上希望列在字段中有数据时可见当没有数据时,列不可见。
该代码适用于excel,但代码不适用于逗号分隔。
因此,你可以告诉我我能做什么,这样当数据导出到csv(逗号分隔)时,列不会消失吗?
答案 0 :(得分:0)
您可以尝试使用“CSV”输出类型的继续语句记帐来执行此操作。
=IIF( (Mid(Globals!RenderFormat.Name,1,5)="EXCEL" OR Mid(Globals!RenderFormat.Name,1,5)="CSV") AND First(Len(Fields!CustomerNumber.Value)) > 0,False,true)
或转换声明:
=Switch(Mid(Globals!RenderFormat.Name,1,5)="EXCEL" AND First(Len(Fields!CustomerNumber.Value)) > 0,False, Mid(Globals!RenderFormat.Name,1,5)="CSV" AND First(Len(Fields!CustomerNumber.Value)) > 0,False,true)
然而....
问题可能是由于csv文件的性质是一种更简单的格式,无法在输出中处理此问题。它取决于SSRS如何处理输出,如果在写操作之前很难写输出。由于CSV格式的限制,它可能根本不起作用。如果是这种情况,您可以简单地获取Excel输出并将其保存为CSV代码或手动操作。