0
votes

In an SSRS 2008 R2 report, the users are going to export the data to: csv (comma delimited) and excel.

I am using the following to display if a column is visible or not:

=IIF(Mid(Globals!RenderFormat.Name,1,5)="EXCEL" AND First(Len(Fields!CustomerNumber.Value)) > 0,False,true)

I have set the DataElementOutput=Output for the textbox that displays the value.

I have left DataElementOutput=Auto for the textbox that contains the column header.

When exporting to csv (comma delimited) or excel, I basically want the column to be visible when there is data in the field and the column not to be visible when there is no data.

The code works for excel but the code does not work for comma delimited.

Thus, can you tell me what I can do so the column is not disaplyed when the data is exported to csv (comma delimited)?

1

1 Answers

0
votes

You may attempt to do this with a continuation of statement accounting for the "CSV" output type.

=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)

Or a switch statement:

=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)

However....

The problem may be due to the nature of a csv file being a simpler format that cannot handle this in output. It depends on how SSRS handles the output if it is hard writing the output before the write operation. It may simply not work because of the limitations of the format of CSV. If this was the case you may be able to simple take the Excel output and save it to CSV either in code or a manual operation.