'在工程中添加对Excel的引用
DimxlsAppAsExcel.Application
DimxlsBookAsExcel.Workbook
PrivateSubCommand1_Click()
DimIAsInteger
SetxlsApp=Excel.Application
xlsApp.Visible=False
SetxlsBook=xlsApp.Workbooks.Open("D:\11.xls")
I=1
DoWhilexlsApp.Sheets(1).cells(I,1)<>""
I=I+1
Loop
xlsApp.Sheets(1).cells(I,1)=Text1.Text
xlsBook.Close(True)
xlsApp.Quit
SetxlsApp=Nothing
MsgBox"数据写入成功!"
EndSub
方法一:可以试着用VB书写一段调用SQLServer数据库DTS的代码,然后就可以像直接使用DTS进行数据导入一样就行Excel与SQLServer数据之间的迁移了。
方法二:可以用VB来 *** 作EXCEL,然后一条数据一条数据的插入到数据库中,这种方法不推荐使用,因为VB *** 作EXCEL是非常慢的,如果数据量太大,很有可能会造成机。
1.部件-添加-可插入对象--选择excel 表格就可以在窗体添加该表格控件
2.工程-引用-Microsoft Excel 11.0 Object Library
下面给个简单的例子
Private Sub Command1_Click()
Dim xlExcel As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim AppExcel As Object
Set xlExcel = CreateObject("Excel.Application")
xlExcel.Workbooks.Open "C:\test.xls"
Set xlBook = xlExcel.Workbooks("test.xls")
Set xlSheet = xlBook.Worksheets(1)
Text1.Text = xlSheet.Cells(1, 1).Value
Text1.Text = Text1.Text &"ADD"
xlSheet.Cells(1, 1).Value = Text1.Text
Application.DisplayAlerts = False
xlBook.Close SaveChanges:=True
Application.DisplayAlerts = True
End Sub
使用VB2012读取Excel文件需要先添加引用:
解决方案右键-添加引用-COM-类型库,中勾选Microsoft Excel引用项,如图:
这是Excel2010的引用项,不同的office版本可能会有差别,注意找一下。
在代码中添加引用,注意一定是在代码开始位置,(Public Class之前)
Imports Microsoft.Office.Interop打开、写入、读取、关闭Excel文档的代码如下:
Public Class frmExcelOperateDim xapp As Excel.Application '定义Excel进程
Dim strFilePath As String '定义Excel文档位置
'打开Excel文档
Private Sub btnOpen_Click(sender As Object, e As EventArgs) Handles btnOpen.Click
xapp = New Excel.Application() '新建Excel进程
strFilePath = "E:\ExcelOperate.xlsx" '指定Excel文件的位置
xapp.Visible = False '设置Excel进程不可见
xapp.DisplayAlerts = False '屏蔽Excel的提示,使用程序接管
xapp.Workbooks.Open(strFilePath) '打开指定的Excel文件
End Sub
'添加数据
Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
'xapp.Workbooks.Add() '添加工作簿,默认使用第一个工作表
xapp.Cells(Val(txtAddRow.Text), Val(txtAddCol.Text)) = txtAddData.Text '将数据写入指定单元格
End Sub
'读取数据
Private Sub btnRead_Click(sender As Object, e As EventArgs) Handles btnRead.Click
txtReadData.Text = xapp.Cells(Val(txtReadRow.Text), Val(txtReadCol.Text)).value.ToString '从指定单元格读取数据
End Sub
'关闭Excel文档
Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles btnClose.Click
xapp.Workbooks.Close() '关闭工作簿
xapp.Quit() '退出Excel进程
'遍历系统中名为excel的进程,如果是本程序创建的进程,其MainWindowTitle属性应为空值,清理所有符合条件的进程
'用户自己打开的Excel进程不受影响
For Each p As Process In Process.GetProcessesByName("excel")
If String.IsNullOrEmpty(p.MainWindowTitle) Then
p.Kill()
End If
Next
End Sub
End Class
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)