Excel导入SQL(VB.NET版)

❀项目实战 同时被 2 个专栏收录
115 篇文章 1 订阅
46 篇文章 0 订阅

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan

【前言】

       我们从第一次机房就开始接触了数据库内容导出到Excel,机房重构的时候同样遇到了,做过VB版的也做过VB.NET版的(其实两者并没有多大差别)。考试导数据的时候用过一次将Excel导入到数据库,当时并没有深入的去想是怎么导进去的。

【内容】

  ●窗体展示

●想法启蒙

       在讨论需求的时候说到这个功能在考试导数据的时候见到过,当时是需要先下载模板,这个项目是用VB.NET写的,学习asp.net的时候用到过一个控件是可以直接打开资源管理器的,就想到VB.NET版的可不可以也有这么一个控件,结果是没有那种封装好的,但是有一个openfiledialog控件,瞬间就来了灵感,打开点击上图浏览按钮应该出现资源管理器,果断求助度娘,经过一番尝试,终于成功了!

       Excel导入数据库思路:点击浏览---->出现资源浏览器---->选择需要导入的Excel---->Excel名称显示在文本框中---->点击导入按钮进行数据导入。

【代码展示】

●打开资源管理器选择所需Excel

 

        Dim di As DirectoryInfo
        '计数已导入公司控件的index
        Dim index As Integer
        '获取选中文件的路径

        '实体层
        Dim lineEntity As New Entity.LineEntity
        'B层实体
        Dim ImportExcelBLL As New BLL.advancedQueryBLL
        '先将文本框清空
        txtFileName.Text = ""
        '打开文件的初始路径
        OpenFileDialog1.InitialDirectory = "c:\"
        '限定打开文件的类型
        OpenFileDialog1.Filter = "Excel files (*.xlsx)|*.xlsx|Excel files (*.xls)|*.xls"
        OpenFileDialog1.FilterIndex = 2
        OpenFileDialog1.RestoreDirectory = True
        '打开资源管理器成功
        If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
            '获取Excel文件名
            di = New DirectoryInfo(Me.OpenFileDialog1.FileName)
            '获取.在选中文件名内的位置
            Point = di.Name.ToString().IndexOf(".")

            '将文件名称显示在文本框中
            txtFileName.Text = Microsoft.VisualBasic.Left(di.Name.ToString(), Point)
            '循环比较选中表是否已经导入过
            If cmbTable.Items.Count <> 0 Then
                For index = 0 To cmbTable.Items.Count
                    If txtFileName.Text = cmbTable.Items(index) Then
                        Throw New Exception("该表已经导入,不可重复选择")
                    End If
                Next
            End If
            '全局变量,文件的名称
            FileNames = txtFileName.Text
            '获取文件路径
            fileName = Me.OpenFileDialog1.FileName
        End If

 

●将Excel数据添加进数据集

 '建立Excel连接,读入数据
                Dim strConn As String = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source='" & fileName & "';Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'"
                Dim da As New OleDb.OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn)
                Dim mydataset As DataSet = New DataSet
                '将Excel的数据填充到数据集中
                da.Fill(mydataset)

●解说

 

      相信在机房重构的时候对datatable和dataset已经有一定的了解了,上述的代码已经完成了将Excel中的数据添加进数据集的功能,下一步就对应数据库中的表依次遍历数据集中表中对应字段下信息添加到数据库即可。

【总结】

      这次收获很大,之前只是了解导出,对应着导入也是一个经常会用到的功能。再一次体验到了度娘的强大。刚开始一筹莫展,做出来发现并不是想象中那么难。多尝试,多学习!

  • 9
    点赞
  • 93
    评论
  • 6
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:精致技术 设计师:CSDN官方博客 返回首页

打赏作者

环游记

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值