using System;
using System.Xml;
using Microsoft.Xrm.Sdk;
using Microsoft.Crm.Sdk.Messages;
/// <summary>
/// 下载报表
/// </summary>
public class DownloadReport
{
/// <summary>
/// 下载指定报表
/// </summary>
/// <param name="service">服务对象</param>
/// <param name="reportId">报表的Guid</param>
public void DownLoadFile(IOrganizationService service,Guid reportId)
{
//构造Request对象
DownloadReportDefinitionRequest request = new DownloadReportDefinitionRequest();
request.ReportId = reportId;
DownloadReportDefinitionResponse response = (DownloadReportDefinitionResponse)service.Execute(request);
//跟目录
string _currentDirectoryPath = System.IO.Directory.GetCurrentDirectory();
//保存报表文件到本地
XmlTextWriter reportDefinitionFile = new XmlTextWriter(_currentDirectoryPath + "\\NewReport.rdl", System.Text.Encoding.UTF8);
reportDefinitionFile.WriteRaw(response.BodyText);
reportDefinitionFile.Close();
if (System.IO.File.Exists(_currentDirectoryPath + "\\NewReport.rdl"))
{
System.Console.WriteLine("下载报表文件成功!");
}
else
{
System.Console.WriteLine("下载报表文件失败!");
}
}
}