找回密码
 加入
搜索
查看: 5347|回复: 8

[AU3基础] [已解决]可否将数组所有行一次性横向写入excel表??

[复制链接]
发表于 2010-11-12 21:14:43 | 显示全部楼层 |阅读模式
本帖最后由 pchome2000 于 2010-11-13 14:46 编辑

Local $avArray[2][5] = [["JPM", "Holger", "Jon", "Larry", "Jeremy"], ["Valik", "Cyberslug", "Nutster", "JdeB", "Tylo"]]
_ArrayDisplay($avArray, "$avArray 为二维数组")
_ArrayDisplay($avArray, "$avArray 为二维数组, 颠倒的", -1, 1)

可否将数组所有行一次性横向写入excel表??

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

 楼主| 发表于 2010-11-13 14:46:18 | 显示全部楼层
本帖最后由 pchome2000 于 2010-11-13 14:47 编辑

;横向写入数组,修改自 _ExcelWriteSheetFromArray 函数。

Func _ExcelWriteSheetRowFromArray($oExcel, ByRef $aArray, $iStartRow = 1, $iStartColumn = 1, $iRowBase = 1, $iColBase = 1)
        ; Test inputs
        If Not IsObj($oExcel) Then Return SetError(1, 0, 0)
        If $iStartRow < 1 Then Return SetError(2, 0, 0)
        If $iStartColumn < 1 Then Return SetError(2, 1, 0)
        If Not IsArray($aArray) Then Return SetError(3, 0, 0)
        Local $iDims = UBound($aArray, 0), $iLastRow = UBound($aArray, 1) - 1, $iLastColumn = UBound($aArray, 2) - 1
        If $iDims <> 2 Then Return SetError(3, 1, 0)
        If $iRowBase > $iLastRow Then Return SetError(4, 0, 0)
        If $iColBase > $iLastColumn Then Return SetError(4, 1, 0)

        Local $iCurrCol
        $iCurrCol = $iStartColumn
        For $r = $iRowBase To $iLastRow
                For $c = $iColBase To $iLastColumn
                        $oExcel.Activesheet.Cells($iStartRow,$iCurrCol).Value = $aArray[$r][$c]
                        $iCurrCol += 1
                Next
                ;$iStartRow += 1
        Next
        Return 1
EndFunc   ;==>_ExcelWriteSheetFromArray
发表于 2011-11-1 12:05:41 | 显示全部楼层
确实好主意,谢谢您
发表于 2012-10-31 09:37:12 | 显示全部楼层
用这个就行了
_ExcelWriteSheetFromArray($oExcel, $aArray, 1, 1, 0, 0)
将一个二维数组一次性写入工作表
后面的4个数字的意思,前两个1是指的单元格的行和列,后面的两个0是数组的参数
发表于 2015-1-18 12:35:12 | 显示全部楼层
记上,稍后慢慢学
发表于 2015-9-21 16:14:25 | 显示全部楼层
新手表示看的晕
发表于 2017-3-3 10:56:33 | 显示全部楼层
Thanks for your kind sharing!
发表于 2018-5-31 09:59:01 | 显示全部楼层
谢谢楼主修改
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-3-29 12:54 , Processed in 0.080916 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表