↑  ←  Описание функции


_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.
---------------
Внимание!!! документы разных форматов MS Office имеют различные ограничения по количеству столбцов и строк:
*.xls (формат xlExcel8, стандартный для MS Office 2003,97,95) имеет ограничения в 255 столбцов 65 535 строк
*.xlsx,*.xlsb,*.xlsm (XML-форматы MS Office 2007-2010) имеют ограничения в 16 384 столбца и 1 048 576 строк

Пример

; ***************************************************************
; Пример 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) ; Закрываем рабочую книгу