引言
我们知道,一般在winform中导出GridView的内容为Excel时会引用第三方库;如Aspose、NPOI等,它们需要你逐行设置导出的内容,虽然功能强大,但有时略显麻烦,可喜的是Devexpress中已经为我们实现了导出的方法GridControl.ExportToXls,它可以将整个GridView全部导出,但通常我们仅需要导出选定行,此时需要做一些设置。
步骤
- 首先设置GridView允许选择多行以及选中行导出模式
1 2 3 4
| GridView.OptionsSelection.MultiSelect = true;
GridView.OptionsPrint.PrintSelectedRowsOnly = true;
|
- 然后使用Devexpress自带的导出功能自动打印
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| var fileName = string.Empty;
var dialog = new SaveFileDialog(); dialog.Title = "保存文件"; dialog.RestoreDirectory = true; dialog.AddExtension = true;
dialog.Filter = @"Excel 97-2003 文件|*.xls";
if (dialog.ShowDialog() == DialogResult.OK) { fileName = dialog.FileName; } if (string.IsNullOrEmpty(fileName)) return; try { GridView.ExportToXls(fileName); MessageBox.Show("导出Excel成功"); } catch (Exception ex) { throw ex; }
|
效果图
devexpress导出选中行效果图
