vb 数据怎么写入excel?

vb 数据怎么写入excel?,第1张

'在工程中添加对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 frmExcelOperate

    Dim 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


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11612616.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存