繁体   English   中英

将RDLC导出到.docx文件

[英]Exporting RDLC to .docx file

我需要C#代码将rdlc文件导出到.docx。 我已经尝试了以下代码。但是它不起作用。 请帮助我提供正确的代码。

RvQpTemplate.LocalReport.SetParameters(new ReportParameter[] { 
             regulation, ExamName, SubjectName, SubjectCode,common });
var report = new LocalReport();
report.SetBasePermissionsForSandboxAppDomain(new PermissionSet(PermissionState.Unrestricted));

RvQpTemplate.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource());
RvQpTemplate.DataBind();

Byte[] mybytes = RvQpTemplate.LocalReport.Render("WORD", null,
                                    out extension, out encoding,
                                    out mimeType, out streams, out warnings);
Response.ClearHeaders();
Response.ClearContent();
Response.Buffer = true;
Response.Clear();
Response.ContentType = contentType;
Response.AddHeader("Content-Disposition", "attachment; filename="test.docx");
Response.BinaryWrite(mybytes);
Response.Flush();
Response.Close();
Response.End();

呈现报告时,请使用WORDOPENXML而不是WORD。 此外,这里还讨论了这一点: 如何在报表查看器中直接导出到Word文档

public FileResult File(string id, string expedicion, string nombre, string historia)
    {                                    
        ReportViewer ReportViewer1 = new ReportViewer();
        ReportViewer1.ProcessingMode = ProcessingMode.Local;
        ReportViewer1.LocalReport.ReportPath = 
        Server.MapPath("~/Reportes/Plantilla2.rdlc");

        ReportViewer1.ShowParameterPrompts = true;
        ReportParameter ID = new ReportParameter("ID", id);
        ReportParameter EXP = new ReportParameter("Exp", expedicion);
        ReportParameter Nombre = new ReportParameter("Nombre", nombre);
        ReportParameter Historia = new ReportParameter("Historia", historia);
        ReportParameter Sede = new ReportParameter("Sede", usuario.idnom);
        ReportViewer1.LocalReport.SetParameters(ID);
        ReportViewer1.LocalReport.SetParameters(EXP);
        ReportViewer1.LocalReport.SetParameters(Nombre);
        ReportViewer1.LocalReport.SetParameters(Historia);
        ReportViewer1.LocalReport.SetParameters(Sede);
        ReportViewer1.LocalReport.Refresh();


        byte[] streamBytes = null;
        string mimeType = "";
        string encoding = "";
        string filenameExtension = "";
        string[] streamids = null;
        Warning[] warnings = null;

        streamBytes = ReportViewer1.LocalReport.Render("WORD", null, out mimeType, out encoding, out filenameExtension, out streamids, out warnings);
        return File(streamBytes, mimeType, "Report1.doc");
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM