簡體   English   中英

在winform的ReportViewer的LocalReport中導出為CSV

[英]Export to CSV in LocalReport of ReportViewer of winform

我想在LocalReport中將ReportViewer中的數據導出為CSV格式。 我在MSDN論壇上看過這篇文章,說本地報告不支持CSV渲染。但這可以在服務器報告中完成,但我不能使用服務器報告。

有沒有辦法在LocalReport中向ReportViewer添加CSV導出擴展?

選項1 - 自定義導出到Excel工具欄按鈕

處理報表查看器的ReportExport事件,如果選擇的擴展名為excel,請將導出導出到csv。

private void reportViewer1_ReportExport(object sender, 
    Microsoft.Reporting.WinForms.ReportExportEventArgs e)
{
    if (e.Extension.Name == "EXCELOPENXML")
    {
        //Export your data to csv here    
        e.Cancel = true;
    }
}

選項2 - 向ReportViewer工具欄添加自定義按鈕

將自定義按鈕添加到報表查看器的工具欄中,並指定處理程序以單擊它的事件並在此處導出到csv:

private void ReportForm_Load(object sender, EventArgs e)
{
    //Load your data from wherever your data is
    //For example using Entity Framework:
    var db = new TestDBEntities(); 
    var data = db.Categories.ToList();

    //Set data to report
    this.CategoryBindingSource.DataSource = data;

    this.reportViewer1.RefreshReport();

    //Add your button to Toolbar of ReportViewr
    ToolStrip toolStrip = (ToolStrip)reportViewer1.Controls.Find("toolStrip1", true)[0];
    toolStrip.Items.Add(new ToolStripButton("Export To CSV", 
    null /*image*/, ExportToCSV_Click));
}

void ExportToCSV_Click(object sender, EventArgs e)
{
    //Export your data to csv here    
}

注意:

無論您想將數據導出到csv,都可以使用已傳遞的數據源數據進行報告。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM