易语言对象--Excel之单元格区域读取数据(多行多列)

用易语言在excel表格中读取数据,单个range直接使用ranges.读属性 (“Value”, )就可,多个ranges采用变体变量存储后,用循环方式读出数据。至于要返回文本数组,整数数组,或者文本,全凭个人喜好,但在易语言中,最好操作的当属文本型,所以文例 主要使用文本型 ,其他类型的请对照修改。具体见如下代码: 

.版本 2
.支持库 spec

.子程序 单元格区域读数据, , , 对excel多行多列表格进行操作,读出数据
.参数 定位, 编辑框
.局部变量 excel, 对象
.局部变量 books, 对象
.局部变量 sheets, 对象
.局部变量 ranges, 对象
.局部变量 cell1, 变体型
.局部变量 cell2, 变体型
.局部变量 分割文本, 文本型, , "0"
.局部变量 mydata, 变体型
.局部变量 i, 整数型
.局部变量 a, 文本型, , "0"
.局部变量 n, 整数型

分割文本 = 分割文本 (定位.内容, “:”, )  ' 填写单元格区域,如:“A15”或“A1:B3”
.如果 (取数组成员数 (分割文本) > 1)
    cell1.赋值 (分割文本 [1], )
    cell2.赋值 (分割文本 [2], )
.否则
    cell1.赋值 (定位.内容, )
    cell2.赋值 (定位.内容, )
.如果结束

excel.获取 (“excel.application”)
books = excel.读对象型属性 (“ActiveWorkbook”, )
sheets = books.读对象型属性 (“Activesheet”, )
ranges = sheets.读对象型属性 (“Range”, cell1, cell2)
' 设置要操作的单元格区域
mydata = ranges.读属性 (“Value”, )  ' 变体虽然是一维的,但可以直接等价于单元格区域,并且按先列后行的方式读取(置放)数据
n = mydata.取数组成员数 ()
.计次循环首 (n, i)
    加入成员 (a, mydata.取文本 (i))
 ' 因易语言的特点,常规使用文本方式
    调试输出 (a [i])
.计次循环尾 ()
调试输出 (a)
mydata.清除 ()
excel.清除 ()

 

2018-11-06 by logo_28

你可能感兴趣的:(易语言,EXCEL,对象操作)