bonjour,
je cherche depuis mon application VB.net a lire un fichier XML afin d'extraire des données pour les mettre en forme sous EXCEL 2002.
Quelqu'un peut il me dire ou je peut trouver de l'aide ou des exemple de code
Merci d'avance
Vijeo
bonjour,
je cherche depuis mon application VB.net a lire un fichier XML afin d'extraire des données pour les mettre en forme sous EXCEL 2002.
Quelqu'un peut il me dire ou je peut trouver de l'aide ou des exemple de code
Merci d'avance
Vijeo
c'est du c# mais bon ca peu inspirer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 * _xlApp = new Excel.ApplicationClass(); * object M = Missing.Value; * _xlApp.Workbooks.Open(filename,M,M,M,M,M,M,M,M,M,M,M,M,M,M);
Bonjour,
Pour commencer, il faut que tu ajoutes une référence à ton projet (Dans les composants COM, Microsoft Excel 9.0 Object Library)
Ensuite, tu auras la classe Excel accessible dans le code.
Ca te permet de manipuler Excel dans tous les sens.
C'est très puissant pour word, ca doit être de même pour Excel. Le seul problème (si c'est un problème), est l'absence de documentation de cette dll.
Pour connaitre le code à taper, je te conseille donc d'enregistrer des macros sous excel avec les traitements que tu souhaites effectuer.
Ensuite en faisant "modifier" la macro, tu peux visualiser le code de celle ci (en VBA Office). Il te suffit alors de convertir ce code en VB.Net (c'est assez simple).
J'espere t'avoir aidé, bonne chance pour ton projet.
Bonjour,
L'exemple ci-dessous te montre comment je charge des cellules depuis un
datagrid (aussi certaines fonctions pour le formattage des cellules :
' Ouverture du classeur
Try
Appli.Workbooks.Open(NomClasseur)
Catch ex As Exception
MsgBox("***** IMPOSSIBLE D'OUVRIR LE FICHIER EXCEL *****")
End Try
' Initialisation Classeur et Feuille Excel
Classeur = CType(Appli.Workbooks(1), Excel.Workbook)
If IdxCBBsél <> -1 Then
Feuille = CType(Classeur.Worksheets("Liste"), Excel.Worksheet)
Else
Feuille = CType(Classeur.Worksheets("Fiche"), Excel.Worksheet)
End If
' Chargement de la feuille Excel
If IdxCBBsél <> -1 Then
' Liste d'employés selon divers critères
If IdxCBBsél = 0 Then
VarTrav = "Liste des employés"
Else
If IdxCBBsél = 1 Then
VarTrav = "Liste des employés actifs"
Else
If IdxCBBsél = 2 Then
VarTrav = "Liste des employés : équipement"
End If
End If
End If
Feuille.Cells(6, 1) = VarTrav
' Titres de colonnes
If IdxCBBsél = 0 Or IdxCBBsél = 1 Then
CellDépart = 6
Feuille.Cells(9, 6) = "Date nais."
Feuille.Cells(9, 7) = "Date entrée"
Feuille.Cells(9, 8) = "N° AVS"
Feuille.Cells(9, 9) = "N° badge"
Feuille.Cells(9, 10) = "Clé"
Feuille.Cells(9, 11) = "Télécomm."
If IdxCBBsél = 0 Then
Feuille.Cells(9, 12) = "Date sortie"
End If
Else
If IdxCBBsél = 2 Then
CellDépart = 5
Feuille.Cells(9, 5) = "Blouse"
Feuille.Cells(9, 6) = "Veste"
Feuille.Cells(9, 7) = "Pantalon"
Feuille.Cells(9, 8) = "Salopette"
Feuille.Cells(9, 9) = "Pointure"
Feuille.Cells(9, 10) = "Equipement de sécurité"
End If
End If
With ds.Tables("Employés")
m = 10
For i = 0 To .Rows.Count - 1
k = CellDépart
For j = 0 To .Columns.Count - 1
If j = 0 Then
Feuille.Cells(m, 1) = .Rows(i)(.Columns(j))
' Choix de la police
' Feuille.Cells(m, 1).Font.Name = "Arial Narrow"
' Taille de la police
' Feuille.Cells(m, 1).Font.Size = 11
' Caractères gras
Feuille.Cells(m, 1).Font.Bold = True
' Couleur de fond (jaune clair)
' Feuille.Cells(m, 1).Interior.ColorIndex = 36
End If
If j = 1 Then
Feuille.Cells(m, 7) = .Rows(i)(.Columns(j))
Feuille.Cells(m, 7).Font.Bold = True
m = m + 1
End If
If j > 1 Then
' Format de cellule : texte
Feuille.Cells(m, k).NumberFormat = "@"
Feuille.Cells(m, k) = .Rows(i)(.Columns(j))
' Alignement horizontal gauche, vertical centré
Feuille.Cells(m, k).HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft
' Feuille.Cells(m, k).VerticalAlignment = Excel.XlVAlign.xlVAlignCenter
k = k + 1
End If
Next j
' Bordure inférieure des cellules (très fin)
If i < .Rows.Count - 1 Then
For k = 1 To 12
With Feuille.Cells(m, k).Borders(Excel.XlBordersIndex.xlEdgeBottom)
.Weight = Excel.XlBorderWeight.xlHairline
End With
Next
End If
k = CellDépart
m = m + 1
Next i
' Bordure inférieure des dernières cellules (fin)
For k = 1 To 12
With Feuille.Cells(m - 1, k).Borders(Excel.XlBordersIndex.xlEdgeBottom)
.Weight = Excel.XlBorderWeight.xlThin
End With
Next
End With
End If
J'éspère que cela te sera utile. Salutations. dp
Partager