En utilisant C# pour lire / écrire des fichiers Excel (.xls/.xlsx)
Comment puis-je lire et écrire des fichiers Excel dans C#? J'ai déjà ajouté la bibliothèque D'objets Excel à mon projet, mais je n'obtiens pas une description suffisamment claire de ce qui doit être fait pour accéder aux fichiers.
s'il vous plaît aidez-moi à comprendre et, en expliquant, s'il vous plaît gardez à l'esprit que je suis un peu nouveau à ce, mais je ne suis pas un débutant complet. J'étudie beaucoup, donc je ne suis pas totalement ignorant.
5 réponses
je suis un grand fan de l'utilisation de EPPlus pour effectuer ces types d'actions. EPPlus est une bibliothèque que vous pouvez consulter dans votre projet et facilement créer/modifier des tableurs sur un serveur. Je l'utilise pour tout projet qui nécessite une fonction d'exportation.
Voici une belle entrée de blog qui montre comment utiliser la bibliothèque, bien que la bibliothèque elle-même devrait venir avec quelques échantillons qui expliquent comment l'utiliser.
bibliothèques Tierces sont beaucoup plus facile à utiliser que Des objets COM de Microsoft, à mon avis. Je suggère de lui donner un essai.
j'utilise NPOI pour tous mes besoins Excel.
Vient avec une solution d'exemples pour de nombreuses tâches d'Excel.
Vous pourriez également être intéressé par http://openxmldeveloper.org/
Vous pouvez utiliser Excel Automation (c'est essentiellement un truc de base COM) E. g:
Excel.Application xlApp ;
Excel.Workbook xlWorkBook ;
Excel.Worksheet xlWorkSheet ;
xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Open("1.xls", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
si vous faites une manipulation simple et que vous pouvez vous attacher à xlsx, alors vous pouvez envisager de manipuler le XML vous-même. Je l'ai fait et l'a trouvé pour être plus rapide que grokking excel libs.
il y a aussi des libs de tiers qui peuvent être plus faciles à utiliser... et peut être utilisé sur le serveur qui les MS est peut pas.