2016-08-05 47 views
0

Ich habe einen SSRS-Bericht, der eine Spalte enthält, die beim Export in Excel (XLSX) ordnungsgemäß angezeigt wird, aber wenn CSV exportiert wird, gibt es einen Fehler, den ich nicht herausfinden kann, wie reparieren.SSRS-Export in CSV-Fehler

Der Spaltenwert ist der folgende Ausdruck (sorry für die Formatierung, SSRS es schwierig macht, diese in eine leicht lesbare Aussage zu formatieren):

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

Der Fehler in der CSV-Datei angezeigt wird:

error

Der Wert in der CSV-Bearbeitungsleiste zeigt =- N/A. Die scheint zu sein, was den Fehler verursacht, aber ich kann nicht herausfinden, warum. Dieses Verhalten ist besonders merkwürdig, weil es andere Zeilen mit den Werten in der gleichen Spalte wie - Test comment und - Yet another testing comment, die ohne Fehler anzuzeigen ...

Der - Charakter ist erforderlich, weil das Unternehmen der Spalte will als Aufzählungsliste angezeigt werden soll. Gibt es eine Möglichkeit, dies zu beheben, ohne die - zu entfernen?

Antwort

1

Sie können dem Zellenwert ein Apostroph (das 'Zeichen') voranstellen, um Excel mitzuteilen, dass der Wert, den Sie in die Zelle eingeben, als Text und nicht als Formel behandelt und unverändert angezeigt werden soll.

Using apostrophe to treat cell value text

+0

Dies behebt nur das Problem, nachdem die CSV durch manuelle Eingabe des '' '- Zeichens erzeugt wurde. Ich brauche etwas, das es beheben würde, wenn SSRS den Bericht in CSV rendert. Ich habe versucht, diese Lösung mit einer benutzerdefinierten Funktion arbeiten zu lassen, aber es ist ziemlich mühsam und beinhaltet mehr verschachtelte "IIF" -Anweisungen (die ich gerne vermeiden würde ...). Irgendwelche Vorschläge, wie man es richtig rendern kann? –

+0

Ah ich sehe .. es ist schwer zu sagen, ohne da zu sein. Gibt es in der Ausgabe Sonderzeichen, die die CSV-Datei verfälschen? Ich freue mich, versuchen zu helfen, wenn Sie in der Lage sind, die Datei zu teilen. – Bobsickle

+0

Leider hat dies Client-Daten und ich habe keine Zeit, es zu bereinigen. Ich denke, ich werde wahrscheinlich Ihre Lösung verwenden und das Render-Format erkennen, um zu bestimmen, ob ich das '' 'hinzufügen muss. Vielen Dank! –

1

Leider haben nicht rep zu kommentieren, aber Sie können auch einfach eine zusätzliche Anweisung von IIF um den Code-Block mit Globals! RenderFormat = „CSV“ add für das Feld Formatierung zum Ausdruck hinzuzufügen. Es sollte keine zusätzliche Funktion erfordern (außer wenn dies für mehr als nur das eine Feld erforderlich ist)

+0

Danke für Ihre Eingabe. Es wurde für mehr als ein Feld benötigt, also habe ich es zu einer Funktion gemacht. –