Dans un programme qui crée un fichier Excel, je me demande si je pourrais donner la chance aux utilisateurs qui n'ont pas MS Office de créer un fichier .xls avec seulement LibreOffice installé. Que devrais-je utiliser à la place de "using Excel = Microsoft.office.interlope.excel;" et le reste des commandes? TnX!Y at-il un moyen de créer/lire une feuille de calcul LibreOffice tout comme MS Office Excel avec C#?
Y at-il un moyen de créer/lire une feuille de calcul LibreOffice tout comme MS Office Excel avec C#?
Répondre
LibreOffice utilise l'ODF (Open Document Format). ODF n'est pas un format difficile à comprendre car tout ce qu'il contient est une collection de fichiers XML qui sont compressés dans un fichier, appelé fichier ODF. Vous pouvez read here sur la façon de lire et enregistrer les fichiers ODF. En outre, vous pouvez check here for a real example in C#
Si vous avez installé LibreOffice chercher cli_basetypes.dll, cli_cppuhelper.dll, cli_oootypes.dll, cli_uno.dll, cli_ure.dll, cli_uretypes.dll puis ajouter des références à votre projet, il faut travailler pour vous, j'ai également installé "Pack de compatibilité Microsoft Office pour les formats de fichiers Word, Excel et PowerPoint" et "Redistribuable Microsoft Access Database Engine 2010" (pour obtenir la connexion ACE.OLEDB.12.O sans installation complète d'Office). C'est une partie de VB Sample dans laquelle j'ai obtenu une connexion à oledb pour créer des requêtes.
OpenFileDialog.Filter = "Spreadsheets (*.xls*)|*.xls*"
OpenFileDialog.Multiselect = False
Try
If (OpenFileDialog.ShowDialog() = System.Windows.Forms.DialogResult.OK) Then
objOffice = CreateObject("com.sun.star.ServiceManager") 'preparar instancia libreOffice (prepare libreOffice instance)
instOffice = objOffice.createInstance("com.sun.star.frame.Desktop")
Dim obj(-1) As Object
Dim myDoc = instOffice.loadComponentFromURL("file:///" & OpenFileDialog.FileName.Replace("\", "/"), "_default", 0, obj)
Dim hojas = myDoc.getSheets().getElementNames() 'Obtener nombres de las hojas de calculo (get Spreadsheet names)
System.Threading.Thread.Sleep(1000) 'Esperar a que termine la instancia Office (await libreOffice thread)
myDoc.Close(True)
Dim MyConnection As System.Data.OleDb.OleDbConnection 'Preparar conexión para realizar consulta tipo sql (preparing connection)
Dim DtSet As System.Data.DataSet
Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
If OpenFileDialog.FileName.ToUpper.Contains(".XLSX") Then
MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & OpenFileDialog.FileName & "';Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1;'")
Else
MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & OpenFileDialog.FileName & "';Extended Properties='Excel 12.0;HDR=YES;IMEX=1'")
End If
- 1. Ouverture MS Excel feuille de calcul en C#
- 2. Excel feuille de calcul
- 3. Importation feuille de calcul Excel Tout en DataGridView - C#
- 4. C# Accès à la feuille de calcul Excel
- 5. Existe-t-il un moyen d'imbriquer une feuille de calcul Excel dans une autre feuille de calcul Excel?
- 6. Compréhension de liste dans une feuille de calcul Open Office
- 7. Générer Excel Feuille de calcul CSV (ASP.NET C#)
- 8. Lire le fichier Excel de feuille de calcul Excel [Java]
- 9. Créer une feuille MS Excel
- 10. Enregistrer une seule feuille de calcul excel comme nouveau fichier Excel avec la nouvelle entrée
- 11. Création d'une feuille de calcul de type MS Excel à l'aide d'Objective-C pour l'application iOS
- 12. feuille de calcul en C#
- 13. Ecrire une macro pour une feuille de calcul dans Excel
- 14. Feuille de calcul Excel Ajout de problème C#
- 15. Récupération des données d'une feuille de calcul Excel dans une feuille Excel dans un bloc
- 16. L'objet feuille de calcul Excel 2003 disparaît dans Excel 2007
- 17. Modifier une feuille de calcul Excel avec l'API Java & JXL
- 18. asp.net (C#) Créer une feuille de calcul Excel, ai-je besoin d'Excel installé sur le serveur?
- 19. Excel: Remplir une feuille de calcul avec des lignes correspondantes
- 20. MS-Excel - Macro pour copier des cellules uniques d'une feuille de calcul à une autre
- 21. liste séquentielle alphabétique dans une feuille de calcul Excel
- 22. Comment créer un bouton de programmation sur une feuille de calcul Excel en C#?
- 23. Comment référencer une cellule ou une plage dans une feuille de calcul externe dans LibreOffice?
- 24. Enregistrer une feuille de calcul avec le formulaire Enregistrer comme emplacement dans Excel VBA
- 25. Comment modifier le nom de feuille de C# sur une feuille de calcul Excel
- 26. Tout moyen de créer une feuille Excel avec les données d'une url avec python
- 27. Recherche de données dans une feuille de calcul Excel
- 28. Comment créer une feuille de calcul Excel comme dans WPF - C#
- 29. colonne Ajout de feuille de calcul dans Excel avec OLEDB
- 30. Winforms hébergement feuille de calcul Excel
donc est-il généralement plus facile de manipuler un fichier .ods, et juste un « convertir à .ods .xls » bouton dans votre application dans le cas où il a besoin d'un utilisateur dans .xls? – Karapapas
@chris - oui, tout ce qui est plus facile. Je crois qu'Excel 2007 et Excel 2010 peuvent lire les fichiers de documents ouverts, mais je ne suis pas sûr. – Icemanind