
图02:【Visual Basic .Net导入数据库数据到Excel表格】项目的设计界面
11. 用下列代码替换Form1.vb中的Button1的Click事件对应的处理代码,下列代码功能是根据使用者输入的数据库信息,建立数据连接,打开数据表,并导入到Excel表格中,如果出错则弹出出错信息:
Private Sub Button1_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button1.Click '创建一个 DataSet Dim myDataSet As DataSet = New DataSet '连接数据库,得到数据集 Try ' 设定数据连接字符串,此字符串的意思是打开Sql server数据库,服务器名称为本地 ,数据库为temp Dim strCon As String = "Provider = SQLOLEDB.1; Persist Security Info = False; User ID = " & TextBox4.Text & " ;PSW=" & TextBox5.Text _ & " ; Initial Catalog = " & TextBox2.Text & " ;Data Source = " & TextBox1.Text '数据连接代码,对此修改可导入其他类型数据库到Excle表格 Dim myConn As OleDbConnection = New OleDbConnection ( strCon ) myConn.Open ( ) Dim strCom As String = "SELECT * FROM " & TextBox3.Text Dim myCommand As OleDbDataAdapter = New OleDbDataAdapter ( strCom , myConn ) myCommand.Fill ( myDataSet , "table01" ) '关闭此OleDbConnection myConn.Close ( ) Catch ey As Exception MessageBox.Show ( "连接错误! " + ey.ToString ( ) , "错误" ) End Try Dim table As DataTable = myDataSet.Tables ( "table01" ) '创建一个空的Excel电子表格文档 Dim AppExcel As Excel.Application = New Excel.Application AppExcel.Application.Workbooks.Add ( True ) '读取数据的字段名称,并在产生的Excel表格的第一行显示出来 Dim colIndex As Integer = 0 Dim col As DataColumn = New DataColumn For Each col In table.Columns colIndex = colIndex + 1 AppExcel.Cells ( 1 , colIndex ) = col.ColumnName Next '实现数据集到Excel表格的转换 Dim rowIndex As Integer = 1 Dim row As DataRow For Each row In table.Rows rowIndex = rowIndex + 1 colIndex = 0 Dim col1 As DataColumn For Each col1 In table.Columns colIndex = colIndex + 1 AppExcel.Cells ( rowIndex , colIndex ) = row ( col1.ColumnName ) .ToString ( ) Next Next AppExcel.Visible = True End Sub |
至此在上述步骤都正确完成后,【Visual Basic .Net导入数据库数据到Excel表格】项目的全部工作就基本完成了。此时单击快捷键F5运行程序,在【数据库服务器名】中输入Sql Server数据库所在的机器名称,【数据库名】中输入要打开的数据库名称,【数据表名】中输入要导入到Excel表格的数据表名称,在【用户名】和【口令】中分别输入打开此Sql Server数据库帐户及口令后,单击【导入Excel表格】按钮,则程序会把相应的数据表导入到Excel表格中。图03和图04分别是【Visual Basic .Net导入数据库数据到Excel表格】项目的运行界面和导入数据后的Excel表格:

图03:【Visual Basic .Net导入数据库数据到Excel表格】项目的运行界面

图04:导入Sql Server数据库数据后形成的Excel表格
四.总结:
本文通过一个实用的示例介绍用Visual Basic .Net处理Excel表格的各种典型操作的实现,此示例能够完成从Sql Server数据库导出数据表中的数据到Excel表格。COM组件是一种现成的丰富资源,当.Net FrameWork SDK无法对您解决问题有所帮助时,也许借助COM就是一条捷径。最后希望本文能够对您掌握在Visual Basic .Net中 COM组件的使用方法。有所帮助。