网站首页
手机版

vb.net窗体导入EXCEL数据到数据库表中,并在Datagridview中显示

更新时间:作者:小小条

Imports System.Data.SqlClient

Imports System.Data.OleDb

Public Class Form 1

vb.net窗体导入EXCEL数据到数据库表中,并在Datagridview中显示

Private DBconnString As String = "Server=CW.shscth.com.cn;Database=SCTH;Integrated Security=True;"

Private Sub Button导入_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button导入.Click

Try

Dim openFileDialog As New OpenFileDialog()

openFileDialog.Filter = "Excel Files|*.xls;*.xlsx"

openFileDialog.Title = "选择Excel文件"

If openFileDialog.ShowDialog() = DialogResult.OK Then

Dim filePath As String = openFileDialog.FileName

Dim connectionString As String = ""

If filePath.EndsWith(".xlsx") Then

connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & filePath & ";Extended Properties='Excel 12.0 xml;HDR=YES';"

Else

connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath & ";Extended Properties='Excel 8.0;HDR=YES';"

End If

Using oleDbConn As New OleDbConnection(connectionString)

oleDbConn.Open()

Dim dtSchema As DataTable = oleDbConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)

Dim sheetName As String = dtSchema.Rows(0)("TABLE_NAME").ToString()

Dim query As String = "SELECT * FROM [" & sheetName & "]"

Dim adapter As New OleDbDataAdapter(query, oleDbConn)

Dim dt As New DataTable()

adapter.Fill(dt)

Using sqlConn As New SqlConnection(DBconnString)

sqlConn.Open()

For Each row As DataRow In dt.Rows

Dim sql As String = "INSERT INTO 进口清单(部品番号,数量,净重,毛重,金额,原产地) VALUES (@部品番号,@数量,@净重,@毛重,@金额,@原产地)"

Using cmd As New SqlCommand(sql, sqlConn)

'根据EXCEL列名映射到数据库表列名,添加参数


cmd.Parameters.AddWithValue("@部品番号", row("部品番号"))


cmd.Parameters.AddWithValue("@数量", row("数量"))


cmd.Parameters.AddWithValue("@净重", row("净重"))


cmd.Parameters.AddWithValue("@毛重", row("毛重"))


cmd.Parameters.AddWithValue("@金额", row("金额"))


cmd.Parameters.AddWithValue("@原产地", row("原产地"))

cmd.ExecuteNonQuery()

End Using

Next

End Using

End Using

MessageBox.Show("导入完成!")

Dim dt2 As New DataTable()

Dim sql2 As String = "SELECT * FROM 进口清单"

Dim da As New SqlDataAdapter(sql2, DBconnString)

da.Fill(dt2)

DataGridView1.DataSource = dt2

Else

LoadData()

End If

Catch ex As Exception

MessageBox.Show("导入失败:" & ex.Message)

End Try

End Sub

版权声明:本文转载于今日头条,版权归作者所有,如果侵权,请联系本站编辑删除

为您推荐

VB.NET导入EXCEL实现代码(2)

Imports System.Data.OleDbPublic Class Form1Private Sub Button导入_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button导入.ClickTryD

2026-01-25 16:39

安装 Visual Studio 2022

Hi,很高兴认识你。我是职场编码,我推荐你使用“ Visual Studio 2022 “作为学习VB.NET的工具,下面跟着我一起安装吧! 在浏览器里搜索"微软官网",在网页链接上点击鼠标左

2026-01-25 16:39

【VB.NET】编程分享:一键生成PPT目录

目录前言步骤1:制作PPT母版样式步骤2:在Visual Studio中创建一个外接程序步骤3:添加项目引用及绘制UI界面步骤4:编写VB.NET代码步骤5:发布程序步骤6:安装并确认效果结语前言随着科

2026-01-25 16:38

vb.net 点击DataGridView1的记录,DataGridView2显示相关记录

问题:数据库有2个表,两个表之间有2个字段相同,表1(HS编码,料件名称),表2(税则号,料件名称),窗体有2个DataGridView,点击DataGridView1的记录, DataGridView2显示相同字段的相

2026-01-25 16:38

vb.net 用datagridview控件录入数据界面,提交保存数据库的代码

Imports System.Data.SqlClientPublic Class Form1'连接数据库Private connString As String = "Server=CW.shscth.com.cn;Database=SCTH;Integrated Security=True

2026-01-25 16:37

国内工科高校排名,清华第一,哈工大第二,北大未进前十

USNews 2022世界大学工科排行榜的中国大陆高校排名揭晓;从这份榜单来看,以前的老牌工科高校优势明显,综合性高校在这份榜单上存在感明显下降。我国有四所高校进入了世界工科大

2026-01-25 16:37