C#中的ReportViewer出口 [英] c# ReportViewer Export

查看:186
本文介绍了C#中的ReportViewer出口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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 并在其中选择一种格式来保存
我该怎么办呢?


解决方案

字符串_sSuggestedName =的String.Empty;



字节[ ] byteViewerPDF = _reportViewer.LocalReport.Render(PDF);结果
字节[] = byteViewerExcel _reportViewer.LocalReport.Render(创先争优);结果
字节[] = byteViewerWord _reportViewer .LocalReport.Render(字);



SaveFileDialog saveFileDialog1 =新SaveFileDialog();



saveFileDialog1。过滤器=PDF文件(的.pdf)| 的.PDF | DOC文件
.DOC)| 的.DOC | Excel文件(的.xls) | 的.xls的;



如果(saveFileDialog1.ShowDialog()== DialogResult.Ok)
{

 的FileStream NEWFILE =新的FileStream(saveFileDialog1.FileName,FileMode.Create); 

如果(saveFileDialog1.FilterIndex == 1)
{
newFile.Write(byteViewerPDF,0,byteViewerPDF.Length);
newFile.Close();
}
,否则
如果(saveFileDialog1.FilterIndex == 2)
{
newFile.Write(byteViewerWord,0,byteViewerWord.Length);
newFile.Close();
}
,否则
如果(saveFileDialog1.FilterIndex == 3)
{
newFile.Write(byteViewerExcel,0,byteViewerExcel.Length);
newFile.Close();
}

}



In ReportView I want to export to .docx .pdf .xlsx.

Ex: I can export to pdf :

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

to .docx :

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

to .xlsx:

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

But at first I have to choose a format for saving. I want at first to open SaveFileDialog and in it to choose a format for saving How can I do it ?

解决方案

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();
                }

        }

这篇关于C#中的ReportViewer出口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆