C # – supprimez Excel-row sans utiliser l'espace de noms Interop

Je search un mode C # pour supprimer (vide) les lignes Excel dans une feuille de calcul sans utiliser l'espace de noms Microsoft.Office.Interop.Excel.

Vous avez trouvé de nombreux exemples avec l'espace de nommage Interop comme C # et Excel supprimant des lignes . Mais existe-t-il un moyen de le faire sans outils tiers, uniquement avec le .NET?

Merci de votre aide!

Les options pour travailler avec des files Excel ne dépendant que des namespaces standard .NET Framework sont limitées. Deux possibilités viennent à l'esprit. Le premier est «le plus simple», mais ne s'applique que si votre intérêt principal est de travailler avec le contenu en tant que database. La seconde vous permet de faire à peu près n'importe quoi avec le classur Excel, mais la courbe d'apprentissage sera raide.

Ces deux approches sont adaptées pour fonctionner dans un environnement server (contrairement à celles nécessitant une présence de l'application Excel) et ne nécessitent aucune licence.

  1. Vous pouvez utiliser une connection OLE DB (fournisseur ACE OLE DB) pour communiquer avec le contenu d'un classur Excel. Il permet de se connecter à des feuilles de travail individuelles ainsi que des plages nommées. La fonctionnalité SQL de base est prise en charge.
  2. Le format de file Excel 2007 et versions ultérieures est Office Open XML (OOXML). Ces files sont des "packages zip" contenant les files (xml pour la plupart) qui composent un classur. Ainsi, tous les outils standard qui peuvent fonctionner avec des packages ZIP et XML peuvent être utilisés pour ouvrir un classur Excel, modifier le contenu, puis fermer le cahier de travail. Dans .NET Framework, il s'agirait de System.IO.Packaging (dans WindowsBase.dll, doit généralement être référencé spécifiquement) et System.XML namespaces.

    La documentation pour les formats de file est la norme ECMA-376 ( http://www.ecma-international.org/publications/standards/Ecma-376.htm ). Une ressource en ligne utile est openxmldeveloper.org.

    Notez que Microsoft fournit également le SDK Open XML, un téléchargement gratuit qui peut être dissortingbué sans licence avec votre solution. Le SDK Open XML réduit la «courbe d'apprentissage» car il réduit la quantité de connaissances dont vous avez besoin au sujet des formats de files OOXML. Je le mentionne pour l'exhaustivité, car je sais combien il est difficile d'essayer de travailler directement avec le format de file. En outre, puisque la DLL est librement dissortingbuable et peut être copiée dans le cadre de votre solution, elle pourrait répondre à vos besoins.

Ce post de stackoverflow peut aider – il traite de certaines bibliothèques qui peuvent manipuler Excel sans nécessiter Office installé. La question concerne VB.NET, mais je crois que les options discutées fonctionneraient également avec C # …

Comment traiter le file excel dans vb.net sans Office installé