Код:
Func _SaveXLSX($sFilePath, $array, $SColumn, $SRow)

	$hStarttime = _Timer_Init()

	ProgressOn("Сохранение файла MS Excel", "Подождите, идет работа", "Working...")

	Local $oExcel = _Excel_Open(False, False, False, False, True) ; создать объект Excel, False = невидимый
	If @error Then
    ProgressOff()
    MsgBox($MB_SYSTEMMODAL, "Ошибка", "Не удалось запустить Excel. На компьютере установлен MS Excel?", 0, $MB_OK) ; выйти, если не удалось создать объект Excel
    Return
	EndIf

	ProgressSet(20, "MS Excel успешно инициализирован")

	ProgressSet(25, "Создание файла")

	If FileExists($sFilePath) Then
    Local $oWorkbook = _Excel_BookOpen($oExcel, $sFilePath, False, False)
	Else
    Local $oWorkbook = _Excel_BookNew($oExcel, 1)
    _Excel_BookSaveAs($oWorkbook, $sFilePath)
	EndIf

	If @error Then
    ProgressOff()
    _Excel_Close($oExcel)
    MsgBox($MB_SYSTEMMODAL, "Ошибка", "Не удалось создать файл. Причина неизвестна", 0, $MB_OK) ; выйти, если не удалось создать объект Excel
    Return
	EndIf

	ProgressSet(30, "Файл успешно создан")

	ProgressSet(35, "Заполнение файла")

	_Excel_RangeWrite($oWorkbook, Default, $array, _ExcelColumnLetter($SColumn) & $SRow)
	If @error Then
    ProgressOff()
    _Excel_BookSave($oWorkbook)
    _Excel_BookClose($oWorkbook)
    _Excel_Close($oExcel)
    MsgBox($MB_SYSTEMMODAL, "Ошибка", "Не удалось завершить операцию.", 0, $MB_OK) ; выйти, если не удалось создать объект Excel
    Return
	EndIf

	ProgressSet(95, "Операция выполнена успешно, открываем шаблон")
	ProgressSet(100, "Операция выполнена успешно, открываем шаблон")
	ProgressOff()

	_Excel_BookSave($oWorkbook)
	_Excel_BookClose($oWorkbook)
	_Excel_Close($oExcel)
	$oExcel = "" ;clean var

	;	GUICtrlSetData($progress, "Выгрузка шаблона MS Excel произведена успешно, время выгрузки - " & Round(_Timer_Diff($hStarttime) / 1000, 2) & " c.")

EndFunc   ;==>_SaveXLSX