怎么在vb2012中调用excel文件
1个回答
展开全部
使用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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询