xms77 发表于 2014-6-9 22:09:37

数组写入Excel如何列写入【已解决】

本帖最后由 xms77 于 2014-6-13 22:33 编辑

一维数组写入Excel的话,好像只能行写入,不知有何方法写入到指定列?

Dim $Array =
$o_Excel = ObjCreate("excel.application")
$o_Excel.visible = True
$o_Workbook = $o_Excel.workbooks.add
With $o_Workbook.activesheet
        .range("A1:C1").value = $Array
EndWith


当然这样是不行
Dim $Array =
$o_Excel = ObjCreate("excel.application")
$o_Excel.visible = True
$o_Workbook = $o_Excel.workbooks.add
With $o_Workbook.activesheet
        .range("A1:A3").value = $Array
EndWith

风行者 发表于 2014-6-9 23:33:30

#include <Array.au3>
Dim $Array =
$o_Excel = ObjCreate("excel.application")
$o_Excel.visible = True
$o_Workbook = $o_Excel.workbooks.add
ClipPut(_ArrayToString($Array,@CRLF))
$o_Workbook.activesheet.paste()

风行者 发表于 2014-6-9 23:53:41

Dim $Array[][] = []
$o_Excel = ObjCreate("excel.application")
$o_Excel.visible = True
$o_Workbook = $o_Excel.workbooks.add
$o_Workbook.activesheet.range("A1:A3").value = $Array

fuldho 发表于 2014-6-10 11:10:57

“列”属二维

ak47gglllk 发表于 2014-6-11 08:18:54

感谢,感谢,学习,学习

kevinch 发表于 2014-6-11 08:24:53

Dim $Array =
$o_Excel = ObjCreate("excel.application")
$o_Excel.visible = True
$o_Workbook = $o_Excel.workbooks.add
With $o_Workbook.activesheet
        .range("A1:A3").value = .application.transpose($Array)
EndWith转置一下就可以了,transpose函数是用来进行行列变换的,不过有数量限制,能不用尽量不用,少量时无所谓

zxhou1 发表于 2014-6-12 12:55:33

学习了。。。

damoo 发表于 2014-6-12 21:00:55

非常实用,谢谢分享。收藏了。

xms77 发表于 2014-6-13 22:28:55

回复 2# 风行者
谢谢风大侠,我现在用_ExcelWriteArray(),但是数据量大了,速度太慢了。测试了你的代码要快多了。

xms77 发表于 2014-6-13 22:30:27

回复 6# kevinch
谢谢!

ipmitool 发表于 2014-7-10 13:54:56

支持一下支持一下

chron 发表于 2015-7-25 14:37:37

谢谢分享,解决了问题!收藏!

cashiba 发表于 2016-3-15 10:26:06

好东西啊,收藏了
页: [1]
查看完整版本: 数组写入Excel如何列写入【已解决】