下面记录一下如何将DataGridView中的数据导出到Excel中,方便以后查阅。
1、使用的编程语言是:VB.NET
2、做的系统是:机房收费系统
3、系统开发人员:黄爱岗
4、DataGridView获得数据:DataGridView1.DataSource=DataSet1.Tables(0)(注:通过查询SQL数据库将查询到的数据全部放入DataSet中,然后赋给DataGridView)
5、导出数据到Excel表:首先需要添加引用【项目(project)-添加引用(add reference)-Microsoft .Office.Interop.Excel】,其他代码如下:
Dim MyExcel As New Microsoft.Office.Interop.Excel.Application() '定义并实例化Excel工作表
MyExcel.Application.Workbooks.Add(True) '打开Excel工作簿
MyExcel.Visible = True 'Excel设置为可见的
Dim Col As Integer '定义整型变量Col
Try
For Col = 0 To DataGridView1.ColumnCount – 1 'Col的变化范围
MyExcel.Cells(1, Col + 1) = Me.DataGridView1.Columns(Col).HeaderText '添加列标题
Next Col
Catch ex As Exception
MsgBox(ex.Message) '弹出捕获的消息
Exit Sub '退出程序
End Try
Dim i As Integer '定义整型行变量i
Dim j As Integer '定义整型列变量j
Try
For i = 0 To DataGridView1.RowCount – 2 '行变量i的取值范围
For j = 0 To DataGridView1.ColumnCount – 1 '列变量j的取值范围
If Me.DataGridView1(j, i).Value IsNot System.DBNull.Value Then
MyExcel.Cells(i + 2, j + 1) = DataGridView1(j, i).Value.ToString() '将DataGridview中的数据添加到Excel表中
End If
Next j
Next i
MsgBox("导出成功!") '提示导出成功
Catch ex As Exception
MsgBox(ex.Message) '弹出捕获的消息
Exit Sub '退出程序
End Try
还有个细节需要注意:dataGridView的属性里有一个allowUsersToAddRows,如果设置成FALSE则For i = 0 To DataGridView1.RowCount – 2要写成For i = 0 To DataGridView1.RowCount – 1,这样做有助于提高程序的健壮性。