用活动工作表的行/列创建二维数组.
#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 - 列超出范围 |
; ******************************************************************************************
; 示例 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) ; 关闭工作表, 退出