将数据从DataGridView导出到Excel

时间:2023-01-13 09:32:42
将数据从DataGridView导出到Excel,并设置是否要导出隐藏的列 
将数据从DataGridView导出到Excel  Public   Function ExportExcel(ByVal dgv As DataGridView, ByVal IsOnlyVisible As BooleanAs Boolean
将数据从DataGridView导出到Excel    
Try
将数据从DataGridView导出到Excel      
Dim n, i, j, row, col As Integer
将数据从DataGridView导出到Excel      
Dim excel As Excel.Application = New Excel.Application()
将数据从DataGridView导出到Excel
将数据从DataGridView导出到Excel
将数据从DataGridView导出到Excel      excel.Application.Workbooks.Add(
True)
将数据从DataGridView导出到Excel      col 
= 1
将数据从DataGridView导出到Excel      
'//记录列名
将数据从DataGridView导出到Excel
      For n = 0 To dgv.ColumnCount - 1
将数据从DataGridView导出到Excel        
If IsOnlyVisible Then
将数据从DataGridView导出到Excel          
If dgv.Columns(n).Visible Then
将数据从DataGridView导出到Excel            excel.Cells(
1, col) = dgv.Columns(n).HeaderText
将数据从DataGridView导出到Excel            col 
= col + 1
将数据从DataGridView导出到Excel          
End If
将数据从DataGridView导出到Excel        
Else
将数据从DataGridView导出到Excel          excel.Cells(
1, n + 1= dgv.Columns(n).HeaderText
将数据从DataGridView导出到Excel        
End If
将数据从DataGridView导出到Excel
将数据从DataGridView导出到Excel      
Next
将数据从DataGridView导出到Excel      
'//记录内容
将数据从DataGridView导出到Excel
      row = 2
将数据从DataGridView导出到Excel      
' col = 1
将数据从DataGridView导出到Excel

将数据从DataGridView导出到Excel      
For i = 0 To dgv.RowCount - 1
将数据从DataGridView导出到Excel        col 
= 1
将数据从DataGridView导出到Excel        
For j = 0 To dgv.ColumnCount - 1
将数据从DataGridView导出到Excel          
'System.Windows.Forms.Application.DoEvents()
将数据从DataGridView导出到Excel
          If IsOnlyVisible Then
将数据从DataGridView导出到Excel            
If dgv.Columns(j).Visible Then
将数据从DataGridView导出到Excel              excel.Cells(i 
+ 2, col) = dgv.Rows(i).Cells(j).Value
将数据从DataGridView导出到Excel              col 
= col + 1
将数据从DataGridView导出到Excel            
End If
将数据从DataGridView导出到Excel          
Else
将数据从DataGridView导出到Excel            excel.Cells(i 
+ 2, j + 1= dgv.Rows(i).Cells(j).Value
将数据从DataGridView导出到Excel          
End If
将数据从DataGridView导出到Excel        
Next
将数据从DataGridView导出到Excel
将数据从DataGridView导出到Excel      
Next
将数据从DataGridView导出到Excel      excel.Visible 
= True
将数据从DataGridView导出到Excel    
Catch ex As Exception
将数据从DataGridView导出到Excel      
Throw ex
将数据从DataGridView导出到Excel    
End Try
将数据从DataGridView导出到Excel  
End Function