_ExcelWriteSheetFromArray
Передает содержимое двумерного массива в ячейки активного листа целевой рабочей книги Excel
#include <Excel.au3>
_ExcelWriteSheetFromArray($oExcel, ByRef $aArray [, $iStartRow = 1 [, $iStartColumn = 1 [, $iRowBase = 1 [, $iColBase = 1]]]])
Параметры
$oExcel | Ссылка на COM-объект "Excel.Application" полученная ранее вызванными _ExcelBookOpen(), _ExcelBookNew(), или _ExcelBookAttach() |
$aArray |
Целевой двумерный массив (объявленный, не динамический массив) |
$iStartRow |
[необязательный] Целевая строка ячейки с которой начнется запись(по умолчанию = 1) |
$iStartColumn |
[необязательный] Целевой столбец ячейки с которой начнется запись(по умолчанию = 1) |
$iRowBase |
[необязательный] Нижний предел индексов первого уровня (строк) целевого массива передаваемого в ячейки листа (по умолчанию=1) |
$iColBase |
[необязательный] Нижний предел индексов второго уровня (столбцов) целевого массива передаваемого в ячейки листа (по умолчанию=1) |
Возвращаемое значение
Успех: | Возвращает 1 |
Ошибка: | Возвращает 0, Устанавливает значение флага ошибки @error: |
@error: | 0 - Скрипт завершил работу без ошибок |
1 - Ошибка OLE/COM ($oExcel), возможно указанный объект не существует | |
2 - Недопустимое значение параметра(ов) определяющих целевую строку/столбец ($iStartRow, $iStartColumn) | |
3 - Целевой массив не существует, или не является массивом | |
4 - Недопустимое значение индекса(ов) целевого массива ($iRowBase и/или $iColBase) | |
@extended: | 0 - Ошибка в значении строки |
1 - Ошибка в значении столбца |
Примечания
Для того чтобы индексы передаваемого двухмерного массива соответствовали формату адресов ячеек R1C1(номер строки/номер столбца), нижняя граница индексов ($iRowBase и $iColBase) передаваемого массива должна быть определена = 1.Пример
; ***************************************************************
; Пример 1 - Передает значения из двумерного массива в ячейки активного листа открытой рабочей книги Excel
; *****************************************************************
#include <Excel.au3>
Local $oExcel = _ExcelBookNew() ; Создаем новую рабочую книгу
; Объявляем массив заполняем его данными
Local $aArray[5][2] = [["Январь", 1],["Февраль", 2],["Март", 3],["Апрель", 4],["Май", 5]]
_ExcelWriteSheetFromArray($oExcel, $aArray, 1, 1, 0, 0) ; Записываем массив начиная с первой строки, первого столбца, нижний предел индексов = 0
MsgBox(4096, "_ExcelWriteSheetFromArray | Пример 1", "Демонстрация завершена, нажмите ОК")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; Сохраняем файл в директории временных файлов, перезаписывая если необходимо.
_ExcelBookClose($oExcel) ; Закрываем рабочую книгу