使用VS 2015软件利用VB.NET编程操作excel 怎么样像Excel VBA那样将区域单元格直接读入数组? 10

例如ExcelVBA中:ArrA=ActiveSheets.Range("A1:D40")由于数据量比较庞大,利用For挨个读取单元格写入数组就不要说了... 例如Excel VBA中:ArrA = ActiveSheets.Range("A1:D40")
由于数据量比较庞大,利用For挨个读取单元格写入数组就不要说了
展开
 我来答
syx54
2016-07-06 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2753万
展开全部
'首先通过菜单[项目] -- [添加引用],选择[COM]选项卡,选择“Microsoft Excel XX.0 Object Library”,[确定]。

添加一个按钮:
试试下面的代码:注意版本;先建立以个EXCEL文件保存到c:\下面,我的计算机是安装OFFICE 2010。
Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim AppXls As Microsoft.Office.Interop.Excel.Application '声明Excel对象
Dim AppWokBook As Microsoft.Office.Interop.Excel.Workbook '声明工作簿对象
Dim AppSheet As New Microsoft.Office.Interop.Excel.Worksheet '声明工作表对象

AppXls = New Microsoft.Office.Interop.Excel.Application '实例化Excel对象
AppXls.Workbooks.Open("C:\工作簿1.xlsx") '打开已经存在的EXCEL文件
AppXls.Visible = False '使Excel不可见

'AppWokBook = New Microsoft.Office.Interop.Excel.Workbook '实例化工作簿对象
'AppSheet = New Microsoft.Office.Interop.Excel.Worksheet '实例化工作表对象

AppWokBook = AppXls.Workbooks(1) 'AppWokBook对象指向工作簿"C:\学生成绩.xls"
AppSheet = AppWokBook.Sheets("Sheet1") 'AppSheet对象指向AppWokBook对象中的表“Sheet1”,即:"C:\学生成绩.xls"中的表“Sheet1”

'下面举一些例子:
'1、如果不声明工作表对象 AppSheet ,那么应用AppWokBook对象中的表“Sheet1”的语句就是:AppWokBook.Sheets("Sheet1")
'2、如果不声明工作簿对象 AppWokBook ,那么应用"C:\学生成绩.xls"中的表“Sheet1”的语句就是:AppXls.Workbooks("C:\学生成绩.xls").Sheets("Sheet1")

'要读取数据表"Sheet1"中的单元格“A1”的值,到变量S1里
Dim S1 As String
'方法一
S1 = AppXls.Workbooks(1).Sheets("Sheet1").Range("A1").Value
MsgBox(S1)

'方法二
S1 = AppWokBook.Sheets("Sheet1").Range("A1").Value
MsgBox(S1)

'方法三
S1 = AppSheet.Range("A1").Value
MsgBox(S1)

'把数据写入到单元格“H2”,就是第2行第8个单元格
'方法一
AppXls.Workbooks(1).Sheets("Sheet1").Cells(2, 8).Value = "您好!"
S1 = AppXls.Workbooks(1).Sheets("Sheet1").Cells(2, 8).Value '为了验证,读取并显示它
MsgBox(S1)

'方法二
AppWokBook.Sheets("Sheet1").Cells(2, 8).Value = "你们好!"
S1 = AppWokBook.Sheets("Sheet1").Cells(2, 8).Value '为了验证,读取并显示它
MsgBox(S1)

'方法二
AppSheet.Cells(2, 8).Value = "大家好!"
S1 = AppSheet.Cells(2, 8).Value '为了验证,读取并显示它
MsgBox(S1)

'使用完毕必须关闭EXCEL,并退出
AppXls.ActiveWorkbook.Close(SaveChanges:=True)
AppXls.Quit()

'完成此程序,打开EXCEL检查,可以看到在“Sheet1”表的单元格“H2”里是文本“大家好!”

End Sub
End Class
追问
好吧,首先感谢你写了这么多东西,其次,单个单元格读取和赋值我知道,这里问的是一个单元格区域,例如 A1:D40 这个单元格区域内的数值,怎么样读入 二维数组 ArrA中。
dwlde123
2022-12-20
知道答主
回答量:20
采纳率:100%
帮助的人:9005
展开全部
dim arr=excelapp.sheets(1).range("a1:h1000").value
不能dim arr(),只能dim arr
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4e37abc
2016-12-03
知道答主
回答量:1
采纳率:0%
帮助的人:1053
展开全部
我也遇到了同样的问题,如果vs可以像vba中直接赋值给二维数组就好了,不知道楼主的问题解决了没有,我也已经纠结了两天,求楼主分享解决办法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Azure蔚蓝海岸
2016-12-18
知道答主
回答量:4
采纳率:0%
帮助的人:2.1万
展开全部
同问,MSDN论坛的示例全英语,看不懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式