Visual Basic 2012 借助DataGridView控件将SQL server2012 数据导入到Excel 2010
摘 要: SQL Server 2012 数据和Excel 2010之间的连接和数据的传输,本篇文章主要针对的是SQL Server 2012 数据导入到Excel 2010文件中。Excel软件对数据的修改和编辑具有很大的优势,而SQL Server在数据的查询、存储以及安全方面是Excel无法相比的。因此,通过Visual Basic实现了Excel和SQL server之间的数据传输可以很好地结合两者的优点,更好更快地编辑,修改和存储数据。
关键词:Visual Basic 2012;SQL server 2012;数据;传输;
1引言
在现代互联网信息爆炸的时代,信息不论在数量和内容上都会发生很快的更新,因此及时实现对信息的管理和更新非常重要,SQL server数据库在数据的存储、管理和查询方面非常便捷,尤其提供了很大程度的安全性,然而SQL server数据库在跨系统的数据交换仍存在一定的不便。在数据的编程方面也不能喝Excel相比。Excel在文件处理、保存、传送、交换数据方面非常便利,却在数据的集中管理和查询方面也不方便。本文主要研究了使用Visual实现Excel和SQL server数据之间的数据交换在信息管理系统的应用,包括将SQL server数据导入到Excel中,同时可以直接在Visual Basic 2012的可视化界面上对数据进行修改、删除和添加等编辑动作。
2.SQL server数据导入到Excel的实现
数据的导出主要是将SQL server 2012版本的数据库Books.mdf中的Authors表中的数据导出到Excel 2010文件的Sample Worksheet工作簿中,这样可以方便数据库的使用者下载自己需要的信息。主要的思路是将数据存入到一个新建的Excel中,然后存储起来以便使用。
2.1使用Visual Basic控件
在本案例中DataGridView数据库控件是实现Visual Basic 2012和SQL server2012数据库之间桥梁,通过它可以将数据库中的数据读取出来,然后在DataGridView数据库控件中显示出来。DataGridView控件就是以DataSet连接的数据库为数据源,在界面上可以对应的显示出来。
2.2 Visual Basic 2012中的控件DataGridView上显示 SQL Server 2012数据
2.2.1在Visual Basic 2012中创建SQL server To Excel项目。打开 Visual studio 2012,“开始”——“所有程序”——“ Microsoft Visual Studio 2012”—— Visual studio 2012——“文件”——“新建项目”——“visual basic”——“Windows 窗体应用程序”,在“名称”里输入“SQL server 2012 数据库导入到Excel 2010”,记下位置路径,准备后面使用“c:\users\administrator\documents\visual studio 2012\Projects”如图:

建成项目后,需添加必须的引用,添加“项目”——“添加引用”——“框架”(.NET)——“扩展”——“Microsoft.Office.Interop.Excel ”、“Microsoft.Office.tools.Excel”、“office”、“ADODB”。打开项目所在的目录“c:\users\administrator\documents\visual studio 2012\Projects”——“SQL server 2012 数据库导入到Excel 2010”——“SQL server 2012 数据库导入到Excel 2010”——“bin”——“debug”,将所建的数据库“Books.mdf”和“Books_log.ldf”复制到这里,这样可以实现在没有安装SQL server软件的另一台电脑上使用,决定了所编程软件的灵活性。由于操作数据库,所以要导入类,这样可以简化编写代码。在窗体代码顶部:输入代码
Imports System.Data
Imports System.Data.SqlClient
Imports Microsoft.Office
Imports Microsoft.Office.Interop.Excel
Imports Microsoft.Office.Tools.Excel
Imports Excel = Microsoft.Office.Interop.Excel
2.2.2 在窗体上添加一个DataGridView控件(属性默认)和一个Button控件(Text属性值为“导出到Excel 2010 文件”),在窗体类中定义连接字符串SqlConnection、Sqlcommand对象、SqlDataset对象、DataSet对象。输入代码:
Dim objconnection As SqlConnection = New SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=" & My.Application.Info.DirectoryPath & "\books.mdf;Persist Security Info = False")
Dim objCommand As SqlCommand = New SqlCommand()
Dim objDataAdapter As New SqlDataAdapter()
Dim objDataSet As New DataSet()
提示:My.Application.Info.DirectoryPath指的就是所保存的项目文件中bin文件夹下的debug文件夹路径。
2.2.3在窗体加载事件(Form1_Load)中添加代码。
代码如下:
objDataAdapter.SelectCommand = New SqlCommand()
objDataAdapter.SelectCommand.Connection = objconnection
objDataAdapter.SelectCommand.CommandText = "SELECT AuthorID,FirstName,LastName FROM Authors"
objDataAdapter.SelectCommand.CommandType = CommandType.Text
objconnection.Open()
objDataAdapter.Fill(objDataSet, "Authors")
objconnection.Close()
DataGridView1.AutoGenerateColumns = True
DataGridView1.DataSource = objDataSet
DataGridView1.DataMember = "Authors"
objDataAdapter = Nothing
objconnection = Nothing
2.2.4本程序至此已全完成,进行运行测试。点击“运行”按钮,运行结果如图;单击“导出到Excel 2010文件”按钮,运行结果如图:


3结语
本文中所用到的数据库books.mdf是“Visual Basic 2012 How to Program”一书中的源代码中的文件。非常感谢这本书的作者Deital。笔者认为理的“魂”——简短,尽可能地删去了解释方面的语句。其实通过代码在DataGridView控件和Excel的界面可以做更改以致看起来更好。以后会再写一篇“Excel 2010 文件导入到SQL server 2012数据库”的文章,相互对应。
附:完整代码
Imports System.Data
Imports System.Data.SqlClient
Imports Microsoft.Office
Imports Microsoft.Office.Interop.Excel
Imports Microsoft.Office.Tools.Excel
Imports Excel = Microsoft.Office.Interop.Excel Public Class Form1
Dim objconnection As SqlConnection = New SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=" & My.Application.Info.DirectoryPath & "\books.mdf;Persist Security Info = False")
Dim objCommand As SqlCommand = New SqlCommand()
Dim objDataAdapter As New SqlDataAdapter()
Dim objDataSet As New DataSet() Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
objDataAdapter.SelectCommand = New SqlCommand()
objDataAdapter.SelectCommand.Connection = objconnection
objDataAdapter.SelectCommand.CommandText = "SELECT AuthorID,FirstName,LastName FROM Authors"
objDataAdapter.SelectCommand.CommandType = CommandType.Text
objconnection.Open()
objDataAdapter.Fill(objDataSet, "Authors")
objconnection.Close()
DataGridView1.AutoGenerateColumns = True
DataGridView1.DataSource = objDataSet
DataGridView1.DataMember = "Authors"
objDataAdapter = Nothing
objconnection = Nothing End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim xlApp As Microsoft.Office.Interop.Excel.Application
Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
xlApp = New Microsoft.Office.Interop.Excel.Application
xlApp.Visible = True
xlBook = xlApp.Workbooks.Add()
xlSheet = CType(xlBook.Sheets.Add(), Excel.Worksheet)
xlSheet.Name = "Sample Worksheet"
xlApp.DisplayAlerts = False With xlSheet
.Range("a1").CurrentRegion.Clear()
For i = To DataGridView1.Columns.Count 'i 为列
.Cells(, i) = DataGridView1.Columns(i - ).HeaderText
For j = To DataGridView1.Rows.Count - 'j 为行
.Cells(j + , i) = DataGridView1.Item(i - , j).Value
Next j
Next i
End With End Sub
End Class
Visual Basic 2012 借助DataGridView控件将SQL server2012 数据导入到Excel 2010的更多相关文章
- Visual Basic 2012 借助DataGridView控件将Excel 2010数据导入到SQL server 2012
(注:注释的颜色原本为绿色,在这里变为黑色,有点不便,但不会造成阅读影响.放入Visual Basic2012代码编辑器后会还原成绿色.) 摘 要:DataGridView控件作为数据传输的中介,只 ...
- DataGridView:DataGridView控件清空绑定的数据
使用DataGridView控件绑定数据后有时需要清空绑定的数据,在清除DataGridView绑定的数据时: 1.设置DataSource为null this.dgvDemo.DataSource ...
- DataGridView控件
DataGridView控件 DataGridView是用于Windows Froms 2.0的新网格控件.它可以取代先前版本中DataGrid控件,它易于使用并高度可定制,支持很多我们的用户需要的特 ...
- DataGridView控件-[引用]
DataGridView控件 DataGridView是用于Windows Froms 2.0的新网格控件.它可以取代先前版本中DataGrid控件,它易于使用并高度可定制,支持很多我们的用户需要的特 ...
- DataGridView控件使用大全说明-各种常用操作与高级操作
DataGridView控件 DataGridView是用于Windows Froms 2.0的新网格控件.它可以取代先前版本中DataGrid控件,它易于使用并高度可定制,支持很多我们的用户需要的特 ...
- DataGridView控件使用大全
转自:http://www.cnblogs.com/xiaofengfeng/archive/2011/04/16/2018504.html DataGridView控件 DataGridView是用 ...
- WinForm中的DataGridView控件显示数据字典方案2
winform代码分析object数据库 做这部分功能的时候,上网搜索了很多资料,发现很少涉及到这方面的解决方案,找了相关的问题帖子,很多人都叫使用视图去处理,当然,用视图是可以解决这个问题,但是,这 ...
- 基于Winform框架DataGridView控件的SqlServer数据库查询展示功能的实现
关键词:Winform.DataGridView.SqlServer 一个基于winform框架的C/S软件,主要实现对SqlServer数据库数据表的实时查询. 一.为DataGridView添加数 ...
- 最佳实践扩展Windows窗体DataGridView控件 .net 4.5 附示例代码
Windows窗体DataGridView控件的性能调优.net 4.5 在处理大量数据时, DataGridView 控制可以消耗大量的内存开销,除非你仔细地使用它. 在客户有限的内存,你可以避 ...
随机推荐
- 。U盘安装windows7操作系统
1.下载. Windows 7微软原版无修改的系统镜像下载地址:Windows 764位旗舰版ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u ...
- 超炫数字特效动画AE模板
下载方式: 网盘地址+迅雷地址+迅雷地址+备份地址 <ignore_js_op> 本AE模板是由Videohive机构出品的超炫数字特效动画AE模板,Videohive The Numbe ...
- Kanzi编程基础2 - Kanzi节点读取和属性设置
UI设计师在Kanzi studio把Kanzi的节点做好后,就要编码读取这些节点并根据实际功能去控制刷新它. Kanzi读取节点的api发生过很多次变化,从2.7.2.8到3.0,每次变化都比较大, ...
- SLAM初探-SLAM for Dummies
SLAM综述性特别是原理讲述比较浅显易懂的的资料比较少,相对比较知名的是<SLAM for Dummies>,但中文资料相对较少,这里就简单概述一下<SLAM for Dummies ...
- 已禁用对分布式事务管理器(MSDTC)的网络访问的解决方法之一
C# ASP.NET项目提示上述错误,在代码中使用分布式事务提示添加或修改到数据库的时候.添加数据到数据库时,不会设置实体类的主键字段.
- 生成yyMMddHHmmssSS时间戳代码作为唯一主键值
import java.sql.Time; import java.text.DateFormat; import java.text.ParseException; import java.text ...
- python成长之路【第九篇】:网络编程
一.套接字 1.1.套接字套接字最初是为同一主机上的应用程序所创建,使得主机上运行的一个程序(又名一个进程)与另一个运行的程序进行通信.这就是所谓的进程间通信(Inter Process Commun ...
- iOS 开发之SVN提交问题解决
1.Commit failed (details follow): '/Users/dev_lzz/Desktop/cjh_ios(16)/cjh/iamgge/iconfont_arrow@3x.p ...
- H5手机端关注的问题
手机端页面写css时应该注意的问题: 设备的屏幕尺寸 设备的分辨率 用户的操作习惯以及点击区域的大小 移动端浏览器的特性 鉴于分辨率等情况而引出的图片尺寸.布局方式等诸多细节问题 ...
- 底部漂浮DIV
.buttonDiv{background-color: #4e4f50; border: 2px solid #83ABD3; border-radius: 4px; -khtml-opacity: ...