DataGridView按列顺序导出Excel
来源:互联网 发布:win2008 r2 数据库 编辑:程序博客网 时间:2024/05/22 03:26
先添加引用程序集 Microsoft.Office.Interop.Excel
声明 using Excel = Microsoft.Office.Interop.Excel;
以及贴出方法:
//DataGridView数据导出Excel private void ExportExcel(string fileName, DataGridView myDGV) { string saveFileName = ""; //bool fileSaved = false; SaveFileDialog saveDialog = new SaveFileDialog(); saveDialog.DefaultExt = "xls"; saveDialog.Filter = "Excel文件|*.xls"; 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) { 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 string[] array = new string[myDGV.Columns.Count]; //获取Visble =true 的列 foreach (DataGridViewColumn column in myDGV.Columns) { if (column.Visible == true) { array[column.DisplayIndex] = column.HeaderText + '|' + column.Name; ; } } int RowsCount = myDGV.Rows.Count; int ColumnsCount = array.Length; int mm = 1; for (int i = 0; i < ColumnsCount; i++) { string[] str =new string[2]; string ColumnName; try { str = array.GetValue(i).ToString().Split('|'); ColumnName = str[0]; } catch { continue; } //导出列名 worksheet.Cells[1, mm] = ColumnName; //导出列内容 for (int m = 0; m < RowsCount; m++) { try { worksheet.Cells[m + 2, mm] = myDGV.Rows[m].Cells[str[1]].FormattedValue.ToString(); } catch { } } //执行完一列 mm++ mm++; } worksheet.Columns.EntireColumn.AutoFit(); if (saveFileName != "") { try { workbook.Saved = true; workbook.SaveCopyAs(saveFileName); } catch (Exception ex) { MessageBox.Show("导出文件时出错,文件可能正被打开!\n" + ex.Message); } } xlApp.Quit(); GC.Collect();//强行销毁 MessageBox.Show(fileName + "的表格资料保存成功", "提示", MessageBoxButtons.OK); }
- DataGridView按列顺序导出Excel
- DataGridView导出Excel 隐藏列不显示
- DataGridView 绑定列顺序
- DataGridView导出excel
- datagridview导出为Excel
- DataGridView导出excel(转载)
- DataGridView导出到Excel
- DataGridView导出到Excel
- c# datagridview 导出excel
- c# datagridview 导出excel
- datagridview导出为Excel
- Datagridview 导出Excel
- DataGridView导出Excel文件
- datagridview导出excel
- DataGridView导出EXCEL
- C# dataGridView导出Excel
- DataGridView导出Excel
- DataGridView导出excel/xml
- Oracle数据恢复 - Linux / Unix 误删除的文件恢复
- js之ActiveX 控件说明 new ActiveXObject();
- 比较杂的
- Android matrix 控制图片的旋转、缩放、移动
- Configure ADF 11.1.2.1.0 on WebLogic 10.3.5
- DataGridView按列顺序导出Excel
- DB2 实现 ORACLE LIKE 关联
- 详解Windows下通过ODBC方式访问PostgreSQL
- PHP MVC及模板引擎
- Oracle的表空间的存储管理与优化技术
- MP3文件格式与编码原理解码流程详解
- Bloom Filter概念和原理
- ruby sinatra web 开发框架
- 音频基础知识及编码原理