Что нового

Удаление элементов в двумерном массиве

joparezzz

Новичок
Сообщения
65
Репутация
0
Во вложение файл эксель откуда берется двумерный массив.
Необходимо удалить все строки где $aArray[$i][4] = "-", но почему то скрипт не работает. Что делаю не правильно?
Код:
#include <Array.au3>
#include <Excel.au3>
Local $oExcel = _Excel_Open(False)
$SorceFile = "\Система кабельных коробов.xlsx"
Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & $SorceFile)
Local $aArray = _Excel_RangeRead($oWorkbook, Default, $oWorkbook.Sheets(1).Usedrange.Columns("A:H"), 1)
_Excel_Close($oExcel, False)
_ArrayDisplay($aArray)

For $i = 0 to UBound($aArray) - 1
	If $aArray[$i][4] = "-" Then _ArrayDelete($aArray, $i)
Next
_ArrayDisplay($aArray)
 

Вложения

  • Система кабельных коробов.rar
    10.8 КБ · Просмотры: 1

hedji

Продвинутый
Сообщения
409
Репутация
94
Код:
$iCols = UBound($aArray, 2) ; Обще количество колонок.
For $i = 0 to $iCols - 1
   
Next
 
Автор
J

joparezzz

Новичок
Сообщения
65
Репутация
0
Вот так просто оказывается можно решить эту задачу)
Код:
#include <Array.au3>
#include <Excel.au3>
Local $oExcel = _Excel_Open(False)
$SorceFile = "\Система кабельных коробов.xlsx"
Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & $SorceFile)
Local $aArray = _Excel_RangeRead($oWorkbook, Default, $oWorkbook.Sheets(1).Usedrange.Columns("A:H"), 1)
_Excel_Close($oExcel, False)
_ArrayDisplay($aArray)
For $i = UBound($aArray) - 1 To 0 Step -1
	If $aArray[$i][4] = "-" Then  _ArrayDelete($aArray, $i)
Next
_ArrayDisplay($aArray)
 
Верх