Programme qui fonctionne dans toutes les version d'excel
J'ai récemment développé une application Windows Form qui a plusieurs composants datagrid. Mon client a besoin d'exporter les données dans Excel. Ils sont à l'aide de différentes versions d'Excel (j'.e 2003,2007,2010,2013) mais je suis en utilisant Office 2013. J'ai utilisé excel 2013 références
(Microsoft excel 15.0 bibliothèque d'objets)
dans mon programme. Récemment, mon client a signalé que l'option d'exportation n'a pas de travail. De mon enquête, il semble que mon application fonctionne bien pour ceux qui sont à l'aide d'Office 2013, mais ne fonctionne pas pour les versions précédentes d'Office.
Que puis-je faire pour que mon application fonctionne dans les anciennes versions d'Excel?
Vous devez vous connecter pour publier un commentaire.
Si vous savez que tous vos utilisateurs auront excel, vous pouvez convertir vos excel les références à "l'Objet"au lieu de figé objets excel et ensuite supprimer la DLL références de votre projet. Cela fonctionnera toutes les versions de bureau, aussi longtemps que vous n'avez pas l'usage d'une NOUVELLE fonction qui n'est pas dans les anciennes versions.
Par exemple, au lieu de cela:
Essayez ceci:
Tout fonctionne de la même (sauf pas de intellisence) à l'exception de l'instanciation de l'application excel:
J'ai fait de cette manière pour 15 ans sans jamais changer mon code en se basant sur les différentes versions.
Il y a un moyen pour que votre demande de travail, même si il n'y a pas d'excel est installé à tous. Vous pouvez utiliser excel natif bibliothèques, il y a des gratuit .Bibliothèques NET que vous pouvez utiliser à cette fin.
Pour format XLS que vous pouvez utiliser NPOI et EPPlus pour XLSX, inconvénient de cette approche est qu'il vous faudra changer votre code existant si vous décidez d'aller dans cette voie.
EPPlus exemple de l'exportation de la DataTable à excel, à partir de cette SORTE question :
Pour NPOI exemple regardez ici :
http://dotnetslackers.com/DataSet/re-511450_Export_an_ADO_NET_DataTable_to_Excel_using_NPOI.aspx
Merci pour votre aide @Steve et @Antonio Bakula
Voici ma liaison tardive code qui fonctionne sur toutes les version d'excel ..
La libération de l'objet excel une fois l'extraction faite .