易语言对象--Excel之单元格区域一次性写入数据(多行多列)

7 篇文章 1 订阅
3 篇文章 0 订阅

 用易语言向excel表格中写数据,单个range或者多个ranges采用循环方式写入数据,对excel的表格访问太过频繁,速度上有一定的影响,思维上不太直观,特别是要对表格中的多个单元格进行更多计算后并一次性写入时,就不容易了。因此,结合变体型变量的灵活性,用其代替多单元格区域属性进行一次写入操作,具体见如下代码: 

.版本 2

.子程序 单元格区域操作, , , 对excel多行多列表格进行操作
.参数 定位, 编辑框
.参数 输入文本, 编辑框, 可空


.局部变量 excel, 对象
.局部变量 books, 对象
.局部变量 sheets, 对象
.局部变量 ranges, 对象
.局部变量 value, 变体型
.局部变量 cell1, 变体型
.局部变量 cell2, 变体型
.局部变量 分割文本, 文本型, , "0"
.局部变量 b, 对象
.局部变量 mydata, 变体型
.局部变量 i, 整数型
.局部变量 a, 文本型, , "0"

 

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

excel.获取 (“excel.application”)
books = excel.读对象型属性 (“ActiveWorkbook”, )
sheets = books.读对象型属性 (“Activesheet”, )
ranges = sheets.读对象型属性 (“Range”, cell1, cell2).读对象型属性 (“Resize”, 4, 3)  
' 设置要操作的单元格区域
mydata = ranges.读属性 (“Value”, )  ' 变体虽然是一维的,但可以直接等价于单元格区域,并且按先列后行的方式置放数据
a = { “a1”, “2a”, “a3”, “4a”, “5b”, “r7”, “8”, “9”, “10”, “11” }  ' 为了更清楚的表达,这里使用一个已经定义的文本数组
.计次循环首 (取数组成员数 (a), i)
    mydata.赋值 (a [i], i)
.计次循环尾 ()
ranges.写属性 (“Value”, mydata)
 ' 一次性写入数据,看起来有点方便呢
mydata.清除 ()
excel.清除 ()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值