【问题标题】:c# ReportViewer Exportc# ReportViewer 导出
【发布时间】:2018-06-13 03:06:22
【问题描述】:

ReportView 中,我想导出为以下格式:.docx、.pdf 或 .xlsx

导出为 .pdf:

reportViewer.ExportDialog(_reportViewer.LocalReport.ListRenderingExtensions()[3]);

导出为 .docx:

reportViewer.ExportDialog(_reportViewer.LocalReport.ListRenderingExtensions()[5]);

导出为 .xlsx:

reportViewer.ExportDialog(_reportViewer.LocalReport.ListRenderingExtensions()[1]);

但首先我必须选择一种保存格式。 我想首先打开 SaveFileDialog 并在其中选择保存格式

我该怎么做?

【问题讨论】:

    标签: c# export reportviewer


    【解决方案1】:

    这是我想出的代码:

    string _sSuggestedName = String.Empty;
    
    byte[] byteViewerPDF = _reportViewer.LocalReport.Render("PDF");  
    byte[] byteViewerExcel = _reportViewer.LocalReport.Render("Excel");  
    byte[] byteViewerWord = _reportViewer.LocalReport.Render("Word");
    
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();
    
    saveFileDialog1.Filter = "PDF files (*.pdf)|*.pdf| Doc files
    (*.doc)|*.doc| Excel files (*.xls)|*.xls";
    
    if (saveFileDialog1.ShowDialog() == DialogResult.Ok)
    {
    
      FileStream newFile = new FileStream(saveFileDialog1.FileName, FileMode.Create);
    
      if (saveFileDialog1.FilterIndex == 1)
      {
        newFile.Write(byteViewerPDF, 0, byteViewerPDF.Length);
        newFile.Close();
      }
      else
        if (saveFileDialog1.FilterIndex == 2)
        {
          newFile.Write(byteViewerWord, 0, byteViewerWord.Length);
          newFile.Close();
        }
      else
        if (saveFileDialog1.FilterIndex == 3)
        {
          newFile.Write(byteViewerExcel, 0, byteViewerExcel.Length);
          newFile.Close();
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-30
      • 2020-08-04
      • 1970-01-01
      相关资源
      最近更新 更多