把WinForm的DataGridView的数据导出到Excel
2009-09-04 14:34
519 查看
最近做一个项目,需要用到这个功能,在网上也找了很多资料,但是效果还是不好。我自己总结了网上的代码和自己写了点。觉得用起来还是不错。写出来做个纪念。呵呵 ^_^ 首先要求数据显示在DataGridView中,给个button 事件如下: private void button10_Click(object sender, EventArgs e) { try { Microsoft.Office.Interop.Excel.Application myExcel = new Microsoft.Office.Interop.Excel.Application();//创建Excel表 myExcel.Visible = true; Microsoft.Office.Interop.Excel.Workbooks myWorkbooks = myExcel.Workbooks;//创建Excel工作表集合 Microsoft.Office.Interop.Excel.Workbook myWorkbook = myWorkbooks.Add(System.Reflection.Missing.Value);//创建Excel工作表 Microsoft.Office.Interop.Excel.Worksheet myWorksheet =(Microsoft.Office.Interop.Excel.Worksheet)myWorkbook.Worksheets[1];//创建Excel工作表Sheet1页 Microsoft.Office.Interop.Excel.Range myRange = myExcel.get_Range(myExcel.Cells[1, 1], myExcel.Cells[1, 4]);//选择页的范 myExcel.Cells[1, 4]表示下面myhead中存入的好多哥表头的个数 object[] myhead = {"编号","姓名","性别","名族" };//设置表头,这种设置表头的方法是写死的,虽然有点笨,但是效果还是不错的 myRange.Value2 = myhead; if (this.dataGridView1.Rows.Count > 0) { myRange = myWorksheet.get_Range("A2", System.Reflection.Missing.Value); int row = 0; row = this.dataGridView1.Rows.Count;//设置表的行数 int col = 4;//设置表的列数,如果你表头是4个,这支需要列数为4个就可以了,你可以根据你添加的表头来规定列数 object[,] mydata = new object[row, col]; try { for (int i = 0; i < row ; i++) { for (int j = 0; j < col; j++) { mydata[i, j] = this.dataGridView1[j, i].Value.ToString();//读取DataGridView中的值,保存到myData数组中,这里要注意哦,DataGridView是列在前,而Excel刚好相反 } } } catch (Exception ex) { MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } myRange = myRange.get_Resize(row, col); myRange.Value2 = mydata;//把mydata数组的值存到Excel表导出 myRange.EntireColumn.AutoFit(); } myExcel = null;//清空表单 } catch (Exception ex) { MessageBox.Show(ex.Message); } }
原帖地址:http://www.cnblogs.com/blueface/archive/2009/09/03/1559357.html
相关文章推荐
- c# winform DataGridView导出数据到Excel中,可以导出当前页和全部数据
- c# winform DataGridView导出数据到Excel中,可以导出当前页和全部数据
- c# winform DataGridView导出数据到Excel中,可以导出当前页和全部数据
- 【转】c# winform DataGridView导出数据到Excel中,可以导出当前页和全部数据
- 在Winform中我常用的两种把DataGridView数据导出Excel的方法
- C# winform DataGridView导出数据到Excel中,可以导出当前页和全部数据;从Excel导入到DataGridView[转http://yuunagi.blogbus.com/logs/38361242.html]
- C# WinForm程序中将DataGridView中的数据导出为EXCEL
- c# winform DataGridView导出数据到Excel中,可以导出当前页和全部数据
- C# DataGridView 数据导出到Excel
- [WinForm]dataGridView导出到EXCEL
- datagridview 向excel 导出数据
- C# WinForm 实现增删改查等功能(Access版) 系列之八-导出数据到Excel
- C# Winform Excel的导出,根据excel模板导出数据
- C#之四十三 从DataGridView导出数据到Excel
- C#操作Excel,将DataGridView数据导出到Excel中
- C#—用Microsoft.Office.Interop.Excel导出datagridview的数据,并杀死EXCEL.EXE进程
- 导出DataGridView显示列数据到Excel中:)
- winform 将Oracle数据导出到excel中
- 玩转DataGridView之将数据导出成Excel和Word格式
- datagridview数据导出到Excel(数据量小的情况)