Excel导入SQL(VB.NET版)
2016-04-24 19:23
495 查看
【前言】
我们从第一次机房就开始接触了数据库内容导出到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中的数据添加进数据集的功能,下一步就对应数据库中的表依次遍历数据集中表中对应字段下信息添加到数据库即可。【总结】
这次收获很大,之前只是了解导出,对应着导入也是一个经常会用到的功能。再一次体验到了度娘的强大。刚开始一筹莫展,做出来发现并不是想象中那么难。多尝试,多学习!相关文章推荐
- MySQL 5.7.10 mac 更改root临时密码
- mysql character set exception
- mysql主从复制 主从配置(windows系统上)
- PostgreSQL数据库基本配置
- iOS中的数据库—使用FMDB
- MySql 数据库操作
- JSP中如何 循环显示 数据库中的数据到list.jsp页面 (转载)
- Redis——简单介绍
- 【Redis】二 JAVA redis 3.0.7连接
- Redis——简单介绍
- TimesTen可以缓存哪些版本的Oracle数据库
- 11g: Program with PL/SQL - 1Z0-144
- ORACLE 4 SQL语句解析
- 11g: SQL Fundamentals I 1Z0-051
- 第6讲 SQL语言概述
- 最全的MySQL基础【燕十八传世】
- coredata简单使用,插删改查
- 心碎的Basic SQL&Assignment
- mysql注入 4个参数
- Mysql学习