将RDLC导出到.docx文件

问题描述 投票:1回答:2

我需要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();
c# rdlc
2个回答
2
投票

在呈现报表时使用WORDOPENXML而不是WORD。此外,这里讨论了:How do I export directly to a word document in report viewer


0
投票
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");
    }
© www.soinside.com 2019 - 2024. All rights reserved.