Question [Résolu] Lecture excel en powershell

Plus d'informations
il y a 11 ans 1 mois #19488 par zaerazerazer
bonjour,

je développe actuellement une interface graphique (windows form) et j'aimerais remplir le contenu de ma combobox1 avec une colonne entière de mon fichier excel (la colonne A).
J'éxécute mon traitement de remplissage au moment du chargement de la form

[code:1]
$formMutationCompteAD_Load={
#TODO: Initialize Form Controls here
$filepath = \"C:\Users\moi\Desktop\monexcel.xls\"
$Excel = New-Object -ComObject excel.application
$Excel.visible = $True #Excel won't be visible

$Workbook = $excel.Workbooks.open($filepath)
$Worksheet = $Workbook.WorkSheets.item(\"Service\"«»)
$Worksheet.activate()

$intRowMax = ($Worksheet.UsedRange.Rows).count

$Columnnumber = 1

for ($intRow = 1; $intRow -le $intRowMax; $intRow++)
{
$Service = $Worksheet.cells.item($intRow, $ColumnNumber).value
$comboBox1.Items.add($Service)
}

# End of program, we close Excel
$workbook.Close()
$excel.Quit()

}
[/code:1]

Malheuresement rien ne remplis la combobox.

PS : J'utilise PowershellStudio2012 pour manipuler les interfaces graphiques.

Avez-vous une idée ? :(<br><br>Message édité par: Tibo54, à: 13/04/15 11:07

En cours de découverte du GraalPowershell !

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 1 mois #19493 par zaerazerazer
Réponse de zaerazerazer sur le sujet Re:Lecture excel en powershell
J'ai réussis finalement à trouver pourquoi ça ne marchait pas.

Voilà le code final:

[code:1]$filepath = \&quot;C:\Users\monuser\Desktop\excel.xlsx\&quot;
$Excel = New-Object -ComObject excel.application
$Excel.visible = $false

$Workbook = $Excel.Workbooks.Open($filepath)
$WorksheetService = $Workbook.sheets.item(\&quot;Service\&quot;«»)
$WorksheetLieu = $Workbook.sheets.item(\&quot;Lieu\&quot;«»)

$intRowMaxService = ($WorksheetService.UsedRange.Rows).count
$intRowMaxLieu = ($WorksheetLieu.UsedRange.Rows).count

$Columnnumber = 1

for ($intRow = 1; $intRow -le $intRowMaxService; $intRow++)
{
$Service = $WorksheetService.cells.item($intRow, $ColumnNumber).value2
$combobox1.Items.add($Service)
}[/code:1]<br><br>Message édité par: Tibo54, à: 13/04/15 11:06

En cours de découverte du GraalPowershell !

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 1 mois #19500 par Arnaud Petitjean
Super ! Merci d'être venu poster la réponse :)

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.036 secondes
Propulsé par Kunena