3

ASP.Net Web アプリケーションが asp.net html および CSS を使用して受信、フォーマット、および表示できるレポート データ (レポート サーバーには既にいくつかの完全なレポートがあります) をレポート サービスが返すにはどうすればよいですか?

RS がレポートを json、xml などとして再実行して、コード ビハインドで簡単に表示できるようにすることはできますか? たとえば、ヘッドタイトルを青く、値を濃い青にし、レポートの背景画像を配置し、プログラムでレポートにいくつかの値のアイコンを配置したいなど.

reportviewer コントロールを使用したくありません。私のレポートは入力パラメーターを使用しません。

4

1 に答える 1

3

私が試した方法があります。

最初に、レポートをデフォルトで XML 形式で出力する必要があります。 http://msdn.microsoft.com/en-us/library/ms154040.aspx http://msdn.microsoft.com/en-us/library/ms152835.aspx

次に、XSLT http://msdn.microsoft.com/en-us/library/aa178953(v=sql.80).aspxを使用して XML 出力に変換を適用する必要があります 。

レポートを取得してスタイルを変換し、より HTML に見えるようにする唯一の方法だと思います

別のソリューションTFDの提案 に基づいて、レポート サービスによって生成された csv ファイルを読み取り、結果を出力する単純なコンソール アプリケーションを作成しました。

LinqToExcelを使用したので、データの読み取りが速くなりますが、使用する必要はありません。

コード:

System.Net.WebClient client = new WebClient();
        client.Credentials = new NetworkCredential("username", "password");
        client.DownloadFile("reporingservisesURL/ReportServer?
        rs:Command=Render&rs:Format=CSV", "file.csv");
        FileInfo file = new FileInfo("file.csv");

        var excel = new ExcelQueryFactory(file.FullName);
        var worksheetNames = excel.GetWorksheetNames();
        var results = from c in excel.Worksheet("UsersTry")
                      select c;

        foreach (var item in results)
        {
            Console.WriteLine(String.Format("UserID: {0} , UserName:{1} ,
            LoginName: {2}",item[0].Value,item[1].Value,item[2].Value));
        }

        Console.WriteLine("The End :)");
        Console.ReadLine();

お役に立てば幸いです

于 2012-10-05T20:42:19.897 に答える