Ich habe einen SSRS-Bericht in SQL Server 2012, der nach Word und PDF exportiert, die in entsprechenden Lesern geöffnet werden. Wenn ich jedoch die XLS-Datei in MS-Excel öffne, bekomme ich die Nachricht, ob die beschädigte Datei repariert werden soll. Wenn ich auf "Ja" klicke, wird eine leere Datei mit der folgenden Nachricht angezeigt. Ich verwende SQL Server 2012. Dies geschieht nur für Daten eines bestimmten Tages.
%Vor%Ich denke, ich muss diesen Beitrag lesen Ссылка
Ich hatte das gleiche Problem und in meinem Fall war es ein Problem mit der Datengenauigkeit. Anscheinend ist SSRS nicht in der Lage, 18 Dezimalstellen zu verarbeiten, und meine Prozedur gab diese Daten für einige der Felder zurück. Das passiert wahrscheinlich in deinem Fall. Die Daten für einen bestimmten Tag enden einfach mit einem Wert, der zu viele Dezimalstellen hat, um von der SSRS verarbeitet zu werden.
Eine Option besteht darin, den Datentyp in der Tabelle zu ändern, um eine niedrigere Genauigkeit zu unterstützen. Eine andere Lösung besteht darin, die Zahlen in der gespeicherten Prozedur zu konvertieren, die den Bericht ausfüllt.
%Vor%Sie können mehr über diesen Fehler lesen hier .
Ich hatte ein ähnliches Problem mit dem Prozenttyp-Feld. Wenn in der Datenausgabe der Wert 0% angezeigt wurde, wurde beim Export des Berichts nach Excel eine fehlerhafte Datei erstellt. Die automatisch reparierte Excel-Datei enthielt 0,00000000000 Werte anstelle von 0,00% wie erwartet. Der ursprüngliche Felddatentyp in DB war DECIMAL (24,14). Ich habe CONVERT zu DECIMAL (10,7) -Klausel in Abfrage hinzugefügt und das Problem wurde behoben.
Ich hatte ein ähnliches Problem beim Export in Excel (XLSX-Format) von SSRS 2012 mit Oracle-Datenbank. Aber die Fehlermeldung war "Wir haben ein Problem mit einigen Inhalten in XYZ.xlsx gefunden. Möchten Sie, dass wir versuchen, so viel wie möglich wiederherzustellen? Wenn Sie der Quelle dieser Arbeitsmappe vertrauen, klicken Sie auf Ja". Das Problem war auf nicht druckbare Zeichen in einem der Felder zurückzuführen. Das Problem wurde behoben, indem die SQL-Abfrage so geändert wurde, dass regulärer Ausdruck als "select column1, REGEXP_REPLACE (column2, '[^ [: print:]]', '') als column2 from table" verwendet wurde. Im Grunde entfernt der reguläre Ausdruck alle nicht druckbaren Zeichen aus column2.
Ich wurde beim Exportieren im Excel-Format mit derselben Situation konfrontiert. In meinem Fall habe ich bei genauer Betrachtung des Berichts festgestellt, dass in der Ausgabe Nicht-ASCII-Zeichen vorlagen. Ich entfernte Nicht-ASCII-Zeichen und danach funktionierte Excel-Export gut. Ich entfernte Nicht-ASCII-Zeichen aus der enthaltenden Spalte mit der folgenden Funktion.
%Vor%Tags und Links sql-server excel reporting-services