Reporting services 报告CRM 4.0中的输出导出文件名问题
我们最近将CRM系统从3.0升级到4.0。从那时起,我们 我们的报告有问题 每当我们将报告导出为excel格式时,在中创建的文件 CRM 4.0的名称为某些“GUID”.xls。不仅仅是文件名,还有工作表 继续输出还将GUID作为名称。这适用于其他国家 也格式化(输出文件名包含GUID) 我可以将文件另存为其他文件。但是我们有订阅 在我们的大多数报告中,都会将报告的excel输出发送到一组 ppl公司 如果我可以将报告上载到,而不是从CRM 4.0上载RDL 其他一些SSRS文件夹,并给出一个链接,它将工作。但我们不想这样做 它 有人能帮我吗Reporting services 报告CRM 4.0中的输出导出文件名问题,reporting-services,report,dynamics-crm,dynamics-crm-4,Reporting Services,Report,Dynamics Crm,Dynamics Crm 4,我们最近将CRM系统从3.0升级到4.0。从那时起,我们 我们的报告有问题 每当我们将报告导出为excel格式时,在中创建的文件 CRM 4.0的名称为某些“GUID”.xls。不仅仅是文件名,还有工作表 继续输出还将GUID作为名称。这适用于其他国家 也格式化(输出文件名包含GUID) 我可以将文件另存为其他文件。但是我们有订阅 在我们的大多数报告中,都会将报告的excel输出发送到一组 ppl公司 如果我可以将报告上载到,而不是从CRM 4.0上载RDL 其他一些SSRS文件夹,并给出一个链
谢谢不确定,但可以尝试创建。将文章中的渲染方法更改为由提出的,唯一的区别是使用excel格式:
public bool Render(Report report,
NameValueCollection reportServerParameters,
NameValueCollection deviceInfo, NameValueCollection clientCapabilities,
EvaluateHeaderFooterExpressions evaluateHeaderFooterExpressions,
CreateAndRegisterStream createAndRegisterStream)
{
string strUri = string.Empty;
strUri +=
"http://localhost/Reports/Reserved.ReportViewerWebControl.axd";
strUri += "?ReportSession=" + reportServerParameters["SessionID"];
// Here you can check the name of report provided to viewer for export.
// If it's incorrect, you may extend method to set the right name.
strUri += "&FileName=" + report.Name;
strUri += "&ControlId=" + Guid.Empty;
strUri += "&Culture=" +
CultureInfo.CurrentCulture.LCID.ToString(
CultureInfo.InvariantCulture);
strUri += "&UICulture=" +
CultureInfo.CurrentUICulture.LCID.ToString(
CultureInfo.InvariantCulture);
strUri += "&ReportStack=1";
strUri += "&OpType=Export";
strUri += "&ContentDisposition=OnlyHtmlInline";
strUri += "&Format=MHTML";
Stream outputStream = null;
StreamWriter streamWriter = null;
try
{
//Output to Excel
outputStream = createAndRegisterStream(report.Name, "xls",
System.Text.Encoding.UTF8,
"application/vnd.ms-excel", true, StreamOper.CreateAndRegister);
streamWriter = new StreamWriter(outputStream);
//Input
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strUri);
//Credentials
request.Credentials = System.Net.CredentialCache.DefaultCredentials;
//Output
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
//Input
Stream inputStream = response.GetResponseStream();
StreamReader streamReader =
new StreamReader(response.GetResponseStream());
//Read/Write
streamWriter.Write(streamReader.ReadToEnd());
}
finally
{
if (streamWriter != null)
{
streamWriter.Flush();
}
}
return false;
}
您可以将此呈现程序添加为新的自定义扩展(然后必须更改订阅格式)或替换现有excel扩展-请参阅