2016-10-03 11 views
0

レポートマネージャからエクスポートするときにExcelファイルが開かない。私は問題が何かを知っています。問題を解決するために私は助けが必要です。誰でも私にエラーを修正する方法を教えてください。以下はその詳細です。開こうとするとメッセージが表示されます。レポートマネージャからエクスポートするときにExcelが開かない

Excelは 'CustomerDetails.xlsx'で判読不能なコンテンツを見つけました。このワークブックの内容を回復しますか?このブックのソースを信頼する場合は、[はい]をクリックします。

私はジップとメモ帳の内容を読み取るためにエクセルの名前を変更した++

Excelを開くために引き起こしている記号の前のスペースを下回っで播種された行のパーセント記号があります。アドレス%の

確認は任意の提案は、これを整理する方法を喜ば

をベース?

ありがとうございました。

答えて

0

データベースから返されるデータがテキストベース(text、varcharまたはnvarchar)であり、その中に異常な文字が含まれている可能性があることを前提にします。

この場合、レポート実行時にテキストをクリーンアップするには、以下のようなUDFを使用できます。 (あなたが必要とするものは何でもするために、これを微調整し、あなたがキャリッジリターンを維持したいとライン出力に送り込む場合、CHAR 10と13のために交換すると削除)

CREATE FUNCTION [dbo].[udf_CleanText] 
(
    @dx text 
) 

RETURNS varchar(max) 

AS 

BEGIN 
    DECLARE @cdx varchar(max) = @dx 

    SELECT @cdx = REPLACE(@cdx, char(20), '') 
    SELECT @cdx = REPLACE(@cdx, char(21), '') 
    SELECT @cdx = REPLACE(@cdx, char(13), '') 
    SELECT @cdx = REPLACE(@cdx, char(10), '') 
    SELECT @cdx = REPLACE(@cdx, char(18), '') 
    SELECT @cdx = REPLACE(@cdx, char(17), '') 
    SELECT @cdx = REPLACE(@cdx, char(22), '') 

    RETURN @cdx 
END 

これを使用するには、レポートのクエリに追加します。

SELECT dbo.udf_CleanText(TextField) AS TextFieldClean 
FROM tblTable 

これはNaNを返す式のように、報告書では、いくつかの計算のために起こって、またはInfinityされている場合、あなたはそれを処理するために、あなたの表現を変更する必要があります。

予期しない値を確認するためにIIFをミックスに追加すると、ここで役立ちます。いくつかの例を以下:

SSRS Formula or expression to change NaN to 0

NaN and Infinity values in SSRS

+0

感謝!これを試して、あなたに知らせるでしょう。 – Amelia

+0

パーフェクト!これは正常に動作しています。 – Amelia

関連する問題