学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

将数据从DataGridView导出到Excel,并设置是否要导出隐藏的列

将数据从DataGridView导出到Excel,并设置是否要导出隐藏的列

Public Function ExportExcel()Function ExportExcel(ByVal dgv As DataGridView, ByVal IsOnlyVisible As Boolean) As Boolean
    Try
      Dim n, i, j, row, col As Integer
      Dim excel As Excel.Application = New Excel.Application()


      excel.Application.Workbooks.Add(True)
      col = 1
      '//记录列名
      For n = 0 To dgv.ColumnCount - 1
        If IsOnlyVisible Then
          If dgv.Columns(n).Visible Then
            excel.Cells(1, col) = dgv.Columns(n).HeaderText
            col = col + 1
          End If
        Else
          excel.Cells(1, n + 1) = dgv.Columns(n).HeaderText
        End If

      Next
      '//记录内容
      row = 2
      ' col = 1

      For i = 0 To dgv.RowCount - 1
        col = 1
        For j = 0 To 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
            End If
          Else
            excel.Cells(i + 2, j + 1) = dgv.Rows(i).Cells(j).Value
          End If
        Next

      Next
      excel.Visible = True
    Catch ex As Exception
      Throw ex
    End Try
  End Function
2个参数分别是datagridview的ID与是否导出隐藏列

TOP

定义function那里粘贴的时候没弄好,拷贝的时候主义下,把多的Function ExportExcel()删掉

TOP

发新话题