Vu qu'il m'a été très difficile de trouver des infos sur OpenOffice via VB.NET j'ai décidé de poster ce que j'ai trouvé ces derniers jours
Ce n'est qu'un début à travailler mais si ça peut être utile à certains c'est le but
j'ai mis toutes les fonctions et les procédures dans une mêmes class histoire de conserver au même endroit tous les appels au code d'OpenOffice
et j'ai essayé de construire des class autour qui y font appel
la structure est discutable, ainsi que le contenu mais c'est une base de travail pour ceux qui ne savent pas par où commencer
Bonjour, j'ai réusi a écrire dans un fichier, voici ce que j'ai fait,
Private Sub openFile(ByVal sFile As String)
Try
Dim oSM As New OpenOffice.OServiceManager
Bureau = New OpenOffice.OBureau(oSM)
Dim oA As New OpenOffice.OCalcApplication(Bureau)
Classeur = New OpenOffice.OCalcClasseur(oA, sFile)
---> Feuille = New OpenOffice.OCalcSheet(Classeur, Classeur.getActiveSheet())
Catch ex As Exception
MessageBox.Show(ex.Message, "aïe aïe", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Feuille.getCell(0, 0).setstring("Interrupt Text")
Feuille.getCell(0, 1).setstring("Type")
Feuille.getCell(0, 2).setstring("Occurred")
Feuille.getCell(0, 3).setstring("Cleared")
Feuille.getCell(0, 4).setstring("ClearType")
Feuille.getCell(0, 5).setstring("Length")
Feuille.getCell(0, 6).setstring("Number of Recovers")
Feuille.getCell(0, 7).setstring("Number of Retries")
Feuille.getCell(0, 8).setstring("Number of Clears")
Feuille.getCell(0, 9).setstring("Note")
Feuille.getCell(0, 10).setstring("Exported")
Feuille.getCell(0, 11).setstring("Logical Machine ID")
Feuille.getCell(0, 12).setstring("Interrupt ID")
Dim y As Integer = 1
Dim f As Integer = 0
Dim myLines() As String = File.ReadAllLines(fichierScan(0))
For Each j As String In myLines
If Not (y = 1) Then
Dim aryTextFile() As String = j.Split(",")
Dim x As Integer = 0
For Each i As String In aryTextFile
Feuille.getCell(y, x).setString(i)
x += 1
Next
y += 1
End If
Next
End Sub
End Class
Mon Data que j'ai a transfairé est dans un fichier text et chaque valeur est séparées par des virgules,
J'ai plusieurs fichier, a traiter à mêtre dans un même claseur.
J'ai un petit intérogation, c'es lent pour le transposer le dada, je vois chaque valeur se mêtre dans les cellule, y a t'il moyen de rendre cela à vitesse grand V. Style ca prend 5 minutes pour copier environ 2000 lignes, de 10 valeurs.
5 juin 2012 à 13:36
Private Sub openFile(ByVal sFile As String)
Try
Dim oSM As New OpenOffice.OServiceManager
Bureau = New OpenOffice.OBureau(oSM)
Dim oA As New OpenOffice.OCalcApplication(Bureau)
Classeur = New OpenOffice.OCalcClasseur(oA, sFile)
---> Feuille = New OpenOffice.OCalcSheet(Classeur, Classeur.getActiveSheet())
Catch ex As Exception
MessageBox.Show(ex.Message, "aïe aïe", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Feuille.getCell(0, 0).setstring("Interrupt Text")
Feuille.getCell(0, 1).setstring("Type")
Feuille.getCell(0, 2).setstring("Occurred")
Feuille.getCell(0, 3).setstring("Cleared")
Feuille.getCell(0, 4).setstring("ClearType")
Feuille.getCell(0, 5).setstring("Length")
Feuille.getCell(0, 6).setstring("Number of Recovers")
Feuille.getCell(0, 7).setstring("Number of Retries")
Feuille.getCell(0, 8).setstring("Number of Clears")
Feuille.getCell(0, 9).setstring("Note")
Feuille.getCell(0, 10).setstring("Exported")
Feuille.getCell(0, 11).setstring("Logical Machine ID")
Feuille.getCell(0, 12).setstring("Interrupt ID")
Dim y As Integer = 1
Dim f As Integer = 0
Dim myLines() As String = File.ReadAllLines(fichierScan(0))
For Each j As String In myLines
If Not (y = 1) Then
Dim aryTextFile() As String = j.Split(",")
Dim x As Integer = 0
For Each i As String In aryTextFile
Feuille.getCell(y, x).setString(i)
x += 1
Next
y += 1
End If
Next
End Sub
End Class
Mon Data que j'ai a transfairé est dans un fichier text et chaque valeur est séparées par des virgules,
J'ai plusieurs fichier, a traiter à mêtre dans un même claseur.
J'ai un petit intérogation, c'es lent pour le transposer le dada, je vois chaque valeur se mêtre dans les cellule, y a t'il moyen de rendre cela à vitesse grand V. Style ca prend 5 minutes pour copier environ 2000 lignes, de 10 valeurs.
Merci et bonne journée
4 juin 2012 à 16:58
Mais j'aimerais bien savoir comme écrire dans une cellule et lire le contenue l'une d'entre elle.
Merci et bonne journée
20 sept. 2011 à 15:35
20 sept. 2011 à 14:19
20 sept. 2011 à 14:01
Dis moi sais tu comment capturer un event d'un document OPENOFFICE?
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.