我想将数据从ReportViewer导出为LocalReport格式的CSV格式。我在MSDN上读过这文章,文章中说本地报表不支持CSV rendering.but,这可以在服务器报告中完成,但我不能使用rendering.but报表。
有没有办法在ReportViewer中LocalReport中添加CSV导出扩展?
发布于 2015-09-01 09:00:29
选项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,就可以使用传递给报告的数据源的数据。
https://stackoverflow.com/questions/32325592
复制相似问题