PublicFunction ExportExcel(ByVal dgv As DataGridView, ByVal IsOnlyVisible AsBoolean) AsBoolean Try Dim n, i, j, row, col AsInteger Dim excel As Excel.Application =New Excel.Application() excel.Application.Workbooks.Add(True) col =1 '//记录列名 For n =0To dgv.ColumnCount -1 If IsOnlyVisible Then If dgv.Columns(n).Visible Then excel.Cells(1, col) = dgv.Columns(n).HeaderText col = col +1 EndIf Else excel.Cells(1, n +1) = dgv.Columns(n).HeaderText EndIf Next '//记录内容 row =2 ' col = 1 For i =0To dgv.RowCount -1 col =1 For j =0To dgv.ColumnCount -1 'System.Windows.Forms.Application.DoEvents() If IsOnlyVisible Then If dgv.Columns(j).Visible Then excel.Cells(i +2, col) = dgv.Rows(i).Cells(j).Value col = col +1 EndIf Else excel.Cells(i +2, j +1) = dgv.Rows(i).Cells(j).Value EndIf Next Next excel.Visible =True Catch ex As Exception Throw ex EndTry End Function