| PowerTools ActiveReports 9.0J Server 管理者ガイド > サンプルとチュートリアル > チュートリアル > セクションレポート(XML)のダウンロード |
ActiveReports Serverに保存されたレポートは、Downloadメソッドを使用してダウンロードして、レポート定義ファイルの形式に保存することができます。このトピックでは、ActiveReports Serverに保存されているセクションレポート(XML)を、アプリケーションを実行するローカル環境にダウンロードする方法を紹介します。
![]() |
メモ:ページレポートやRDLレポートの場合も、同様の手順でダウンロードが可能です。 |
![]() |
メモ: プロジェクトのターゲットフレームワークは.NET Framework 4.5以上に設定されている必要があります。 |
| 以下をコピーして[アドレス]ボックスに貼り付け、"localhost:8080"の部分を、ActiveReports 9.0J ServerをインストールしたサイトのURL、およびポートに置き換えます。 |
コードのコピー
|
|---|---|
| http://localhost:8080/ReportService.svc | |
| app.configファイル内のendpoint要素内のaddress属性の値を確認します。 |
コードのコピー
|
|---|---|
<client> |
|
![]() |
注意:ActiveReports Serverをインストールした先のサーバーの構成や設定によっては、サービスのアドレスが構成ファイルに正しく自動設定されない場合があります。 |
| app.configファイル内のbinding要素内に追加します。 |
コードのコピー
|
|---|---|
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IReportService" maxReceivedMessageSize="10000000">
<security mode="None" />
</binding>
</wsHttpBinding>
</bindings>
|
|
Visual Basic
| Visual Basicコード (コードの先頭にあるImports文のリストに追加します。) |
コードのコピー
|
|---|---|
Imports System.IO Imports DownloadReport.ReportService |
|
C#
| C#コード (コードの先頭にあるusing文のリストに追加します。) |
コードのコピー
|
|---|---|
using System.IO; using DownloadReport.ReportService; |
|
Visual Basic
| Visual Basicコード (Module1モジュール定義のMainメソッドに以下のコードを貼り付けます。) |
コードのコピー
|
|---|---|
Dim serverUserName As String = "USER"
Dim serverUserPwd As String = "PASS"
Dim reportService As New ReportServiceClient("WSHttpBinding_IReportService")
' Loginメソッドを使用してセキュリティトークンを取得
Dim securityToken As String = reportService.Login(serverUserName, serverUserPwd, Nothing, True)
' アップロードされている帳票の一覧情報を取得
Dim query As New ReportService.Query()
Dim description As ReportDescription() = reportService.[Select](securityToken, query)
' 出力対象の帳票のレポート情報を取得 Dim TargetRepDescription As New ReportDescription
For Each des As ReportDescription In description
If des.Name = "払込取扱票" Then
TargetRepDescription = des
Exit For
End If
Next
' エンコードされた帳票データを取得
Dim result As DataResult = reportService.Download(securityToken, TargetRepDescription.Id)
' バイト型配列に戻す
Dim s As String = result.Data
Dim bs As Byte() = System.Convert.FromBase64String(s)
' 保存先のフォルダを指定します。 Dim outFileName As String = "C:\work\PaymentSlip.rpx" Dim outFile As New System.IO.FileStream(outFileName, System.IO.FileMode.Create, System.IO.FileAccess.Write) outFile.Write(bs, 0, bs.Length) outFile.Close() |
|
C#
| C#コード (Programクラス定義のMainメソッドに以下のコードを貼り付けます。) |
コードのコピー
|
|---|---|
var serverUserName = "USER";
var serverUserPwd = "PASS";
var reportService = new ReportServiceClient("WSHttpBinding_IReportService");
var securityToken = reportService.Login(serverUserName, serverUserPwd, null, true);
// 内部ストレージからレポートの一覧を取得します。
var description = reportService.Select(securityToken, new Query());
// 出力対象の帳票のレポート情報を取得
ReportDescription TargetRepDescription = new ReportDescription();
foreach (var des in description)
{
if (des.Name == "払込取扱票")
{
TargetRepDescription = des;
break;
}
}
// エンコードされた帳票データを取得
var result = reportService.Download(securityToken, TargetRepDescription.Id);
// バイト型配列に戻す
string s = result.Data;
byte[] bs = System.Convert.FromBase64String(s);
// 保存先のフォルダを指定します。
string outFileName = @"C:\work\PaymentSlip.rpx";
System.IO.FileStream outFile = new System.IO.FileStream(outFileName,
System.IO.FileMode.Create, System.IO.FileAccess.Write);
outFile.Write(bs, 0, bs.Length);
outFile.Close();
|
|