:DataGridView 导出到 Excel中

以下代码,从这里K过来,亲测可用。

 1           public   void  exportToExcel(DataGridView dataGridView1)  
 2          {  
 3               // 导出到execl  
 4               try   
 5              {  
 6                   // 没有数据的话就不往下执行  
 7                   if  (dataGridView1.Rows.Count  ==   0 )  
 8                       return ;  
 9                   // 实例化一个Excel.Application对象  
10                  Microsoft.Office.Interop.Excel.Application excel  =   new  Microsoft.Office.Interop.Excel.Application();  
11            
12                   // 让后台执行设置为不可见,为true的话会看到打开一个Excel,然后数据在往里写  
13                  excel.Visible  =   false ;  
14                            
15                   // 新增加一个工作簿,Workbook是直接保存,不会弹出保存对话框,加上Application会弹出保存对话框,值为false会报错  
16              excel.Application.Workbooks.Add( true );                
17                   // 生成Excel中列头名称  
18                   for  ( int  i  =   0 ; i  <  dataGridView1.Columns.Count; i ++ )  
19                  {  
20                      excel.Cells[ 1 , i  +   1 =  dataGridView1.Columns[i].HeaderText;  
21                  }  
22                   // 把DataGridView当前页的数据保存在Excel中  
23                   for  ( int  i  =   0 ; i  <  dataGridView1.Rows.Count  -   1 ; i ++ )  
24                  {  
25                       for  ( int  j  =   0 ; j  <  dataGridView1.Columns.Count; j ++ )  
26                      {  
27                           if  (dataGridView1[j, i].ValueType  ==   typeof ( string ))  
28                          {  
29                              excel.Cells[i  +   2 , j  +   1 =   " ' "   +  dataGridView1[j, i].Value.ToString();  
30                          }  
31                           else   
32                          {  
33                              excel.Cells[i  +   2 , j  +   1 =  dataGridView1[j, i].Value.ToString();  
34                          }  
35                      }  
36                  }  
37            
38                   // 设置禁止弹出保存和覆盖的询问提示框  
39                  excel.DisplayAlerts  =   false ;  
40                  excel.AlertBeforeOverwriting  =   false ;  
41            
42                   // 保存工作簿  
43                  excel.Application.Workbooks.Add( true ).Save();  
44                   // 保存excel文件  
45                  excel.Save( " D: "   +   " \\KKHMD.xls " );  
46                                
47                   // 确保Excel进程关闭  
48                  excel.Quit();  
49                  excel  =   null ;  
50            
51              }  
52               catch  (Exception ex)  
53              {  
54                  MessageBox.Show(ex.Message,  " 错误提示 " );  
55             }  

56         }  

感谢作者:) 

你可能感兴趣的:(datagridview)