我需要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();
答案 0 :(得分:2)
渲染报表时使用WORDOPENXML而不是WORD。此外,这里讨论了这个问题: How do I export directly to a word document in report viewer
答案 1 :(得分: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");
}