Convertir Excel Gamme à ADO.NET DataSet ou DataTable, etc

J'ai une feuille de calcul Excel qui va s'asseoir sur un lecteur réseau partagé. Il doit être accessible par mon Winforms en C# 3.0 de l'application (de nombreux utilisateurs peuvent utiliser l'application et en cliquant sur cette feuille de calcul dans le même temps). Il y a beaucoup de données sur une seule feuille de calcul. Cette répartition des données dans des domaines que j'ai nommé sous forme de fourchettes. J'ai besoin d'être en mesure d'accéder à ces plages individuellement, de retour de chaque plage d'un dataset, puis le lier à une grille.

J'ai trouvé des exemples d'utilisation de OLE et ont reçu ces au travail. Cependant, j'ai vu quelques mises en garde sur l'utilisation de cette méthode, en plus au travail, nous avons été à l'aide de Microsoft.Bureau de.Interop.Excel comme la norme à ce jour. Je n'ai pas vraiment envie de s'écarter de cette à moins que j'ai. Nos utilisateurs vont utiliser Office 2003 sur d'aussi loin que je sache.

Je peux obtenir de la gamme j'ai besoin avec le code suivant:

MyDataRange = (Microsoft.Office.Interop.Excel.Range)
    MyWorkSheet.get_Range("MyExcelRange", Type.Missing);

OLE moyen était agréable car il permettrait de prendre ma première ligne et de les transformer en colonnes. Mes plages (12 au total) sont pour la plupart différents les uns des autres selon le nombre de colonnes. Ne sais pas si cette info aurait une incidence sur les recommandations.

Est-il possible d'utiliser d'Interopérabilité et d'obtenir le retour de gamme dans un dataset?

OriginalL'auteur user295197 | 2010-03-16