SSRS 导出到 xlsx 损坏了吗?
SSRS export to xlsx broken?
我有报告,我想只使用 link 呈现给 excel。为了做到这一点,我有一个页面(实际上是网络应用程序)使用 ReportViewer select 参数,然后使用以下代码截取渲染阶段:
protected void ReportViewer_SubmittingParameterValues(object sender, Microsoft.Reporting.WebForms.ReportParametersEventArgs e)
{
//
if (e.AutoSubmit == false)
{
// Only when default no parameters are set
ReportViewer.ServerReport.SetParameters(e.Parameters);
Session["Output"] = ReportViewer.ServerReport.Render("EXCELOPENXML");
DateTime rendertime = DateTime.Now.ToUniversalTime(); // get the current time so we can add the timestamp to the file name
Session["Rendertime"] = rendertime.ToString("yyyy-MM-ddTHHmmss");
e.Cancel = true; // holds the rendering to the reportviewer webform element
}
}
稍后将其发送给用户。
然而,虽然渲染到旧的 Excel 格式(使用 ReportViewer.ServerReport.Render("Excel")
)效果很好,但渲染到较新的 EXCELOPENXML 文件格式提供的文件 Excel 2013 说是损坏。
我让Excel修复文件后,我真的看不出文件内容有什么不同,除了布局上有些不同。但是,我无法交付损坏的应用程序,所以我必须让它工作。用户不会接受此输出。我们确实需要更新的文件格式,因为我们的报告会生成大量行。
有谁知道这是报告查看器中的错误,还是我在这里做错了什么?有人知道解决方法吗?
如果您也在为此苦苦挣扎,答案是会话的最大大小受到限制并且导出不适合会话变量。
我有报告,我想只使用 link 呈现给 excel。为了做到这一点,我有一个页面(实际上是网络应用程序)使用 ReportViewer select 参数,然后使用以下代码截取渲染阶段:
protected void ReportViewer_SubmittingParameterValues(object sender, Microsoft.Reporting.WebForms.ReportParametersEventArgs e)
{
//
if (e.AutoSubmit == false)
{
// Only when default no parameters are set
ReportViewer.ServerReport.SetParameters(e.Parameters);
Session["Output"] = ReportViewer.ServerReport.Render("EXCELOPENXML");
DateTime rendertime = DateTime.Now.ToUniversalTime(); // get the current time so we can add the timestamp to the file name
Session["Rendertime"] = rendertime.ToString("yyyy-MM-ddTHHmmss");
e.Cancel = true; // holds the rendering to the reportviewer webform element
}
}
稍后将其发送给用户。
然而,虽然渲染到旧的 Excel 格式(使用 ReportViewer.ServerReport.Render("Excel")
)效果很好,但渲染到较新的 EXCELOPENXML 文件格式提供的文件 Excel 2013 说是损坏。
我让Excel修复文件后,我真的看不出文件内容有什么不同,除了布局上有些不同。但是,我无法交付损坏的应用程序,所以我必须让它工作。用户不会接受此输出。我们确实需要更新的文件格式,因为我们的报告会生成大量行。
有谁知道这是报告查看器中的错误,还是我在这里做错了什么?有人知道解决方法吗?
如果您也在为此苦苦挣扎,答案是会话的最大大小受到限制并且导出不适合会话变量。