ReportViewer“正文太复杂,无法导出到Word”

时间:2018-12-06 15:17:43

标签: c# visual-studio-2015 reportviewer

我在VS2015中使用ReportViewer,用C#编写。我的报告与此类似(不要挂在内容上,我只是在显示大部分是文本框):

enter image description here

如您所见,我的报告大部分是文本框,所有字段都从数据集中填充。

该报告完美无缺。可以毫无问题地导出到Excel和PDF。但是,我的最终用户希望在Word中使用它,但它不起作用。我遇到了错误:

  

InnerException {“主体太复杂,无法导出到Word。请简化ReportItems组合成矩形。”} System.Exception {Microsoft.ReportingServices.OnDemandReportRendering.ReportRenderingException}

我最初使用内置工具条的导出功能,然后编写了自己的工具。代码在这里:

private void button1_Click(object sender, EventArgs e)
{
    SaveFileDialog saveFileDialog = new SaveFileDialog();
    saveFileDialog.InitialDirectory = @"C:\";
    saveFileDialog.RestoreDirectory = true;
    saveFileDialog.Title = "Browse Text Files";
    saveFileDialog.DefaultExt = "docx";
    saveFileDialog.Filter = "Word Doc (*.docx) | *.docx | PDF(*.pdf) | *.pdf";
    saveFileDialog.CheckFileExists = false;
    saveFileDialog.CheckPathExists = true;

    Warning[] warnings;
    string[] streams;
    string mimeType;
    string encoding;
    string extension;

    byte[] bytes = FirstTestReport.LocalReport.Render("WordOpenXml", null, out mimeType, out encoding, out extension, out streams, out warnings);

    if (saveFileDialog.ShowDialog() == DialogResult.OK)
    {
        var filename = saveFileDialog.FileName;
        System.IO.FileStream file = new System.IO.FileStream(filename, System.IO.FileMode.Create);
        file.Write(bytes, 0, bytes.Length);
        file.Close();
    }
}

我可以对我的代码做些什么来解决此问题,还是在渲染过程中这是已知的“错误”?我在某处读到ReportViewer将每个文本框都视为一个表,这就是导致复杂性的原因。但是,错误本身说要用矩形包围它们?

FWIW,该错误发生在以“ byte [] bytes =“

此报告包含大约60个子报告。除了我自己的执行之外,任何快速而轻松的工作都将受到赞赏。

0 个答案:

没有答案