函数参考


_ExcelReadSheetToArray

用活动工作表的行/列创建二维数组.

#Include <Excel.au3>
_ExcelReadSheetToArray($oExcel [, $iStartRow = 1 [, $iStartColumn = 1 [, $iRowCnt = 0 [, $iColCnt = 0 [, $iColShift = False]]]]])

参数

$oExcel 由预先调用_ExcelBookOpen()或_ExcelBookNew()打开的Excel对象
$iStartRow [可选参数] 开始读取的行, 默认为1(首行)
$iStartColumn [可选参数] 开始读取的列, 默认为1(首列)
$iRowCnt [可选参数] 要读取的行数, 默认为0(全部)
$iColCnt [可选参数] 要读取的列数, 默认为0(全部)
$iColShift [可选参数] 确定由Excel返回的数组开始于0基还是1基列. 默认匹配R1C1值时无效.

返回值

成功: 返回由参数 $iRowCnt 和 $iColCnt 指定的单元格内容组成的二维数组
失败: 返回 0, 并设置 @error:
@error: 0 - 无错误
1 - 指定的对象不存在
2 - 开始读取行超出范围
3 - 开始读取列超出范围
@extended: 0 - 行超出范围
1 - 列超出范围

注意/说明

返回的数组中, [0][0]表示行数, [0][1]表示列数.
除以上计数外, 当实际单元格数据开始于[1][1]以匹配R1C1数字时,
返回数组的行0和列0为空.
默认整个工作表被返回.
如果工作表为空时, 则返回的数组的 [0][0] 与 [0][1] 都等于 0.

相关

示例/演示


; ******************************************************************************************
; 示例 1 打开一个新的工作表并返回其对象标识符, 填充一些单元格并使用不同参数将值读入数组, 然后保存并关闭文件.
;
; ******************************************************************************************

#include <Excel.au3>
#include <Array.au3>

Local $oExcel = _ExcelBookNew() ;创建一个新的工作表并打开

;使用一个简单的循环和随机数字填充单元格
For $y = 1 To 10 ;从第一列开始
    For $x = 1 To 15
        _ExcelWriteCell($oExcel, Round(Random(1000, 10000), 0), $x, $y) ;向文件写入随机数字信息
    Next
Next

Local $aArray = _ExcelReadSheetToArray($oExcel) ;使用默认参数
_ArrayDisplay($aArray, "使用默认参数")

$aArray = _ExcelReadSheetToArray($oExcel, 2) ;从第2行开始
_ArrayDisplay($aArray, "从第2行开始")

$aArray = _ExcelReadSheetToArray($oExcel, 1, 2) ;从第2列开始
_ArrayDisplay($aArray, "从第2列开始")

$aArray = _ExcelReadSheetToArray($oExcel, 1, 1, 5) ;读取5行
_ArrayDisplay($aArray, "读取5行")

$aArray = _ExcelReadSheetToArray($oExcel, 1, 1, 0, 2) ;读取2列
_ArrayDisplay($aArray, "读取2列")

$aArray = _ExcelReadSheetToArray($oExcel, 2, 3, 4, 5) ;从第2行第3列开始, 读取4行5列
_ArrayDisplay($aArray, "从第2行第3列开始, 读取4行5列")

$aArray = _ExcelReadSheetToArray($oExcel, 1, 1, 0, 0, True);使用默认参数, 除非跨列(真)
_ArrayDisplay($aArray, "使用默认参数, 除非跨列(真)")

MsgBox(4096, "退出", "按[确定]保存文件并退出")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; 在临时目录保存文件, 如果文件已存在则覆盖原文件
_ExcelBookClose($oExcel) ; 关闭工作表, 退出