Kezdőoldal » Számítástechnika » Programozás » Powershell, ezt hogyan?

I(L)TECHNO kérdése:

Powershell, ezt hogyan?

Figyelt kérdés

Egy excel fájl 1. oszlopában lévő sorokat akarom egy tömbbe beolvasni. 1. sor a fejléc ugye, tehát második sortól kezdve.


Tehát a tömb 0. eleme az Excelben az 1. oszlop 2. sora

tömb 1. eleme az Excel 1. oszlop 3.sora stb.stb


$array = @() #üres tömb létrehozása


$objExcel = new-object -comobject excel.application



$UserWorkBook = $objExcel.Workbooks.Open("D:\teszt\Model.xlsx”)

$UserWorksheet = $UserWorkBook.Worksheets.Item(1)



$intRow = 2

$index = 0



Do {


$array[$index] = $UserWorksheet.Cells.Item($intRow, 1).Value()



$intRow++

$index++


} While ($UserWorksheet.Cells.Item($intRow,1).Value() -ne $null)



$objExcel.Quit()



Hiba "Index was outside the bounds of the array."

Valamiért nem tudom a tömb indexét változóban kezelni..


Köszönöm a segítséget.



2017. márc. 22. 09:09
 1/9 anonim ***** válasza:
Tömbnek nem kéne megadni a méretét?
2017. márc. 22. 09:12
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:
Nem lehet előre tudni a méretét, mert változó az excel táblában az 1. oszlopban a sorok száma. Ma még 5 sor adatot tartalmaz, holnap már 10-et. lényeg, hogy addig olvassa be tömb elemekbe, amennyi adatot tartalmazó sor van.
2017. márc. 22. 09:15
 3/9 anonim ***** válasza:
Csakhogy a tömb nem így működik.
2017. márc. 22. 09:19
Hasznos számodra ez a válasz?
 4/9 A kérdező kommentje:
Ha van esetleg javaslatod ennek kivitelezésére, akkor azt előre is nagyon szépen köszönöm.
2017. márc. 22. 09:26
 5/9 anonim ***** válasza:
100%
Naív megoldás: adj meg egy olyan tömbméretet, amibe biztos beleférnek az elemek.
2017. márc. 22. 09:27
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:
max 1,048,576 sor lehet egy excel fájlban
2017. márc. 22. 10:32
Hasznos számodra ez a válasz?
 7/9 A kérdező kommentje:
Megadtam kezdésnek 100-at, így működik. Nem tudom, mennyire elegáns megoldás, de lényeg, hogy megy. A zöld ment. Köszönöm
2017. márc. 22. 11:01
 8/9 anonim ***** válasza:

A Powershell-beli tömb mérete dinamikus. Lehet hozzáadni új elemeket.

$array = @();

$array += 5;

2017. márc. 22. 15:29
Hasznos számodra ez a válasz?
 9/9 A kérdező kommentje:
Ment a zöld Neked is! :)
2017. márc. 23. 07:49

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!