免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4238 | 回复: 4
打印 上一主题 下一主题

Win32::OLE中怎样在A1和R1C1两种单元格引用方式之间相互转换 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-07-15 18:09 |只看该作者 |倒序浏览
Range方法可以把一个二维数组的内容一次写到Excel表格里面去,但必须给定A1格式的范围地址。
  1.         $sheet->Range("A8:C9")->{Value} = [[ undef, 'Xyzzy', 'Plugh' ],
  2.                                            [ 42,    'Perl',  3.1415  ]];
复制代码
但在写入之前只知道二维数组有几行几列,需要把R1C1格式的单元格地址转换成A1格式的单元格地址

我的办法是先用Excel 函数ADDRESS转换R1C1,然后再读出来,然后在把这个单元格清空,很麻烦。

各位高手,有没有好的办法呀?

论坛徽章:
0
2 [报告]
发表于 2010-07-15 18:18 |只看该作者
看了半天,还是没明白,你在说什么?既然是写东西,为啥你最后 “然后在把这个单元格清空”?

论坛徽章:
0
3 [报告]
发表于 2010-07-15 18:27 |只看该作者
对不起没说清楚:因为Range只接受A1格式的单元格地址,所以我使用Excel 的函数ADDRESS先把R1C1格式的地址转换成A1格式地址(结果会写到一个单元格里面去),然后把这个单元格的内容(即我想要的A1格式的地址)赋给一个变量以便给Range使用。赋值后,这个单元格的内容没有用了,所以要删掉。

论坛徽章:
0
4 [报告]
发表于 2010-07-15 19:47 |只看该作者
那为什么不用 OFFSET 嘛

论坛徽章:
1
未羊
日期:2014-09-08 22:47:27
5 [报告]
发表于 2010-07-16 09:50 |只看该作者
自己写个函数,转换一下地址格式就可以了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP