WPF将DataGrid内容导出到Excel
来源:互联网 发布:application.js下载 编辑:程序博客网 时间:2024/05/20 13:18
WPF将DataGrid内容导出到Excel
最近在维护一个项目程序的时候需要新添加一些需求,其中一个需求就是把WPF中的datagird中的内容导出为Excel。查了很多网上的资料,最后结合将DataGridView导出到Excel的方法做了一些调整之后实现了功能需求。
!首先在VS里引用,前提电脑里必须要有Excel否则不能引用
我是通过点击button控件进行保存的。直接贴代码
private void ExportParameterBtn_Click(object sender, RoutedEventArgs e) { string fileName = ""; string saveFileName = ""; SaveFileDialog saveDialog = new SaveFileDialog(); saveDialog.DefaultExt = "xlsx"; saveDialog.Filter = "Excel 文件|*.xlsx"; saveDialog.FileName = fileName; saveDialog.ShowDialog(); saveFileName = saveDialog.FileName; if (saveFileName.IndexOf(":") < 0) return; //被点了取消 Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); if (xlApp == null) { System.Windows.MessageBox.Show("无法创建Excel对象,您可能未安装Excel"); return; } Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks; Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet); Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1]; //取得sheet1 //写入行 for (int i = 0; i < ParaGrid.Columns.Count; i++) { worksheet.Cells[1, i + 1] = ParaGrid.Columns[i].Header; } for (int r = 0; r < ParaGrid.Items.Count; r++) { for (int i = 0; i < ParaGrid.Columns.Count; i++) { worksheet.Cells[r + 2, i + 1] = (ParaGrid.Columns[i].GetCellContent(ParaGrid.Items[r]) as TextBlock).Text; //读取DataGrid某一行某一列的信息内容,与DataGridView不同的地方 } System.Windows.Forms.Application.DoEvents(); } worksheet.Columns.EntireColumn.AutoFit(); MessageBox.Show(fileName + "保存成功"); if(saveFileName!="") { try { workbook.Saved = true; workbook.SaveCopyAs(saveFileName); } catch(Exception ex) { MessageBox.Show("导出文件可能正在被打断!" + ex.Message); } } xlApp.Quit(); GC.Collect(); }
修改的主要部分就是读取DataGrid行列内容,导入Excel部分没有作修改。
阅读全文
0 0
- 【WPF】将DataGrid内容导出到Excel
- WPF将DataGrid内容导出到Excel
- wpf导出DataGrid到Excel
- WPF DataGrid导出到Excel
- 如何把DataGrid内容导出到Excel
- 将datagrid数据导出到excel
- wpf将dataGrid的内容以csv的格式导出
- 将数据库内容导出到Excel-------Spreadsheet
- js将表格内容导出到excel
- 将DATASET中的内容导出到EXCEL
- DataGrid导出到Excel
- DataGrid导出到Excel
- datagrid 导出到Excel
- Flex把datagrid的内容导出到Excel
- flex 把datagrid的内容导出到Excel
- 如何将DataGrid中的数据导出到Excel文件中
- 如何将DataGrid中的数据导出到Excel文件中
- 将DataGrid数据导出到Excel和Word文档
- yii2.0 安装advanced 模版(window)
- Oracle impdp参数说明和导入数据库的SQL语句写法
- python学习:正则表达式
- iOS 崩溃统计工具-Crashlytics
- js复习笔记day1
- WPF将DataGrid内容导出到Excel
- mysql连接异常:The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zo
- hive 自定义UDF UDAF UDTF
- shell中&&和||的使用方法
- 史上最全的时间工具类
- Java并发编程实战(学习笔记 十三 第十四章 构建自定义的同步工具 上)
- axel:多线程下载工具
- 备忘
- python正则表达式中group