函数参考


_ExcelReadArray

使用活动工作表的 1 行或 1 列数据创建数组.

#Include <Excel.au3>
_ExcelReadArray($oExcel, $iStartRow, $iStartColumn, $iNumCells [, $iDirection = 0 [, $iIndexBase = 0]])

参数

$oExcel 由前面调用 _ExcelBookOpen() 或者 _ExcelBookNew() 函数返回的 Excel 对象
$iStartRow 开始读取行
$iStartColumn 开始读取列
$iNumCells 读取单元格数量
$iDirection [可选参数] 单元格的读入方向 (0 = 水平向右, 1 = 垂直向下)
$iIndexBase [可选参数] 数组索引基于 0 还是基于 1

返回值

成功: 返回包含指定单元格内容的数组
失败: 返回 0, 并设置 @error:
@error: 0 - 无错误
1 - 指定的对象不存在
2 - 参数超出范围
3 - 无效单元格数量
4 - 无效方向参数
@extended: 0 - 行数超出范围
1 - 列数超出范围

注意/说明

None

相关

示例/演示


; ***************************************************************
; 示例 1 - 打开一个工作簿并返回其对象标识符后, 在循环中写入内容到单元格.  读取单元格内容到数组中, 显示数组,
;               然后保存并关闭文件.
; *****************************************************************

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

Local $oExcel = _ExcelBookNew() ;创建新工作簿, 并使其可见

For $i = 1 To 5 ;循环
    _ExcelWriteCell($oExcel, $i, $i, 1) ;把数值 1 到 5 垂直写入单元格
Next

For $i = 1 To 5 ;循环
    _ExcelWriteCell($oExcel, Asc($i), 1, $i + 2) ;水平写入单元格, 使用 Asc 得到不同值用于读取
Next

Local $aArray1 = _ExcelReadArray($oExcel, 1, 1, 5, 1) ;方向是水平的
Local $aArray2 = _ExcelReadArray($oExcel, 1, 3, 5) ;方向是垂直的
_ArrayDisplay($aArray2, "Horizontal")
_ArrayDisplay($aArray1, "Vertical")

MsgBox(4096, "Exiting", "Press OK to Save File and Exit")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; 现在我们把它保存到临时目录; 必要时覆盖文件
_ExcelBookClose($oExcel) ; 最后我们关闭并退出