VB.NET DataGridView中的数据导入到Excel

背景介绍:数据库里"卡信息表"中数据已成功在DataGridView1控件中显示,实现代码请见博客《VB.NET 中DataGridView显示数据库中的数据》,瑕疵颇多,望高人指教;这里只介绍DataGridView控件中的数据是如何导入到Excel表中的。

VB.NET DataGridView中的数据导入到Excel_第1张图片


操作步骤,主要谈谈需要注意的几点

DataGridView1的"AllowUserToAddRows"属性要改为False,否则会发生一个小错误,自己试试就了解喽。

② 要使用Excel表,不得不添加引用。

项目-->添加引用--> .NET-->Microsoft.Office.Interop.Excel

③实现代码,大体如下:

'为将datagridview表中数据添加到excel表中,需添加引用。
Imports Microsoft.Office.Interop.Excel
    '导出到excel表
    Private Sub btnExcel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExcel.Click
        '要先添加引用才能使用下列语句Microsoft.Office.Interop.Excel.Application()
        Dim myExcel As New Microsoft.Office.Interop.Excel.Application()
        myExcel.Application.Workbooks.Add(True)
        myExcel.Visible = True

        '去除datagridview1的编号列
        Dim m As Integer
        For m = 0 To DataGridView1.ColumnCount - 1
            myExcel.Cells(1, m + 1) = Me.DataGridView1.Columns(m).HeaderText

        Next m

        '往excel表里添加数据
        Dim i As Integer
        For i = 0 To DataGridView1.RowCount - 1
            Dim j As Integer
            For j = 0 To DataGridView1.ColumnCount - 1
                If Me.DataGridView1(j, i).Value Is System.DBNull.Value Then
                    myExcel.Cells(i + 2, j + 1) = ""
                Else
                    myExcel.Cells(i + 2, j + 1) = DataGridView1(j, i).Value.ToString
                End If

            Next j
        Next i

    End Sub

你可能感兴趣的:(datagridview)