近来在做项目,做到导出功能。使用<telerik:RadComboBox>的下拉框来实现导出部分或导出所有数据的功能。
导出当前页数据(100条) 导出所有数据
1.WPF页面中的导出下拉框代码
1 <Image Grid.Column="6" Stretch="Uniform" HorizontalAlignment="Right" Margin="3" Height="15" Width="15" Source="/MASP;Component/Images/print.png" ></Image> 2 <telerik:RadComboBox Grid.Column="7" x:Name="cmb_out" Margin="3" VerticalAlignment="Center" SelectionChanged="cmb_out_SelectionChanged"> 3 <telerik:RadComboBoxItem Tag="0" Content="导出选项"></telerik:RadComboBoxItem> 4 <telerik:RadComboBoxItem Tag="1" Content="导出当前页"></telerik:RadComboBoxItem> 5 <telerik:RadComboBoxItem Tag="2" Content="导出全部页"></telerik:RadComboBoxItem> 6 </telerik:RadComboBox>
2.WPF页面添加两个GridView列表(用于区分导出当前页和导出所有数据)
3.后台导出数据事件(通过下拉框选择值发生改变事件实现导出)
1 /// <summary> 2 /// 导出Excel文件 3 /// </summary> 4 private void cmb_out_SelectionChanged(object sender, Telerik.Windows.Controls.SelectionChangedEventArgs e) 5 { 6 if (cmb_out.SelectedIndex == 0) return; 7 8 string tag = cmb_out.SelectedIndex.ToString(); 9 10 try 11 { 12 SaveFileDialog dialog = new SaveFileDialog(); 13 dialog.DefaultExt = "xls"; 14 dialog.Filter = "Excel文件(.xls)|*.xls"; 15 dialog.FilterIndex = 1; 16 if (dialog.ShowDialog() == true) 17 { 18 using (Stream stream = dialog.OpenFile()) 19 { 20 GridViewExportOptions exprotoptions = new GridViewExportOptions(); 21 exprotoptions.Format = ExportFormat.Html; 22 exprotoptions.ShowColumnFooters = true; 23 exprotoptions.ShowColumnHeaders = true; 24 exprotoptions.ShowGroupFooters = true; 25 if (tag == "1") 26 { 27 Rgv_vakfee.Export(stream, exprotoptions); 28 } 29 else if (tag == "2") 30 { 31 Rgv_vakfee2.Export(stream, exprotoptions); 32 } 33 } 34 MessageBox.Show("保存成功"); 35 } 36 } 37 catch (Exception ex) 38 { 39 MessageBox.Show(ex.Message); 40 } 41 }
实现导出功能需要导入的命名空间
记录完成。