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

易语言 同时被 3 个专栏收录
7 篇文章 1 订阅
15 篇文章 0 订阅
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.清除 ()

 

  • 3
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值