Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article montre comment interroger et afficher des données à partir d’une feuille de calcul Excel via une page ASP.NET (.aspx) à l’aide de Visual C# .NET.
Version du produit d’origine : ASP.NET
Numéro de la base de connaissances d’origine : 306572
Créer un exemple de feuille de calcul Excel
Démarrez Microsoft Excel, puis créez une feuille de calcul.
Ajoutez les informations suivantes à la nouvelle feuille de calcul pour créer une base de données Excel :
Numéro de ligne A B 1 FirstName LastName 2 Scott Évêque 3 Katie Jordanie Note
Bien que les données commencent par la cellule A1 dans cet exemple, vous pouvez ajouter ces données à toutes les cellules adjacentes de la feuille de calcul.
Mettez en surbrillance les lignes et les colonnes où se trouvent les données.
Dans le menu Insertion , pointez sur Nom, puis cliquez sur Définir.
Dans la zone de texte Noms du classeur , tapez myRange1, puis cliquez sur OK.
Dans le menu Fichier , cliquez sur Enregistrer. Dans la liste Enregistrer dans la liste, sélectionnez la racine du serveur web (qui est généralement
C:\InetPub\Wwwroot\
). Dans la zone de texte Nom de fichier , tapez ExcelData.xls. Cliquez sur OK.Dans le menu Fichier , cliquez sur Quitter.
Créer un exemple ASP.NET à l’aide de Visual C# .NET
Cet exemple de code montre comment interroger et afficher des informations dans une feuille de calcul Excel. Le code suivant utilise la feuille de calcul que vous avez créée dans la section précédente.
Ouvrez Microsoft Visual Studio .NET. L’environnement de développement intégré (IDE) visual Studio .NET s’affiche.
Dans le menu Fichier , pointez sur Nouveau, puis cliquez sur Projet.
Dans la boîte de dialogue Nouveau projet, sous Types de projets, cliquez sur Projets Visual C#. Sous Modèles, cliquez sur ASP.NET application web.
Dans la boîte de dialogue Nouveau projet , recherchez les zones de texte Nom et Emplacement .
Note
- La zone de texte Nom n’est pas disponible (elle apparaît grisée ou grisée). La zone de texte Emplacement contient le texte (ou similaire)
http://localhost/WebApplication1
. - Remplacez le texte dans la zone
http://localhost/ExcelCSTest
de texte Emplacement par , puis cliquez sur OK. Un nouveau projet est créé, qui inclut un formulaire web nommé WebForm1.aspx.
- La zone de texte Nom n’est pas disponible (elle apparaît grisée ou grisée). La zone de texte Emplacement contient le texte (ou similaire)
Dans l’IDE Visual Studio .NET, recherchez la fenêtre Explorateur de solutions. Si vous ne le trouvez pas, cliquez sur Explorateur de solutions dans le menu Affichage.
Dans Explorateur de solutions, cliquez avec le bouton droit sur WebForm1.aspx, puis cliquez sur Concepteur de vues pour afficher le concepteur pour l’apparence de la page. Le concepteur vous permet d’ajouter des contrôles et de manipuler l’apparence de la page.
Recherchez la boîte à outils. Selon vos paramètres d’option IDE, la boîte à outils peut apparaître sous la forme d’une fenêtre ou d’un bouton (qui apparaît souvent sur le côté gauche de l’IDE). Si vous ne trouvez pas la boîte à outils, cliquez sur Boîte à outils dans le menu Affichage .
Si la boîte à outils apparaît sous la forme d’un bouton, déplacez le pointeur sur le bouton afin que le contenu de la boîte à outils s’affiche.
Lorsque l’affichage concepteur d’un formulaire Web est actif, la boîte à outils est divisée en sections, notamment les formulaires Web, les composants, le code HTML et d’autres sections. Cliquez sur la section Web Forms .
Dans la section Web Forms de la boîte à outils, cliquez sur DataGrid, puis faites-le glisser sur le concepteur pour WebForm1.
Cliquez avec le bouton droit sur WebForm1.aspx, puis cliquez sur Afficher le code pour afficher la source de la page code-behind.
Ajoutez les instructions suivantes en haut de la page code-behind, au-dessus de la section espace de noms :
using System.Data.OleDb; using System.Data;
Mettez en surbrillance le code suivant, cliquez avec le bouton droit sur le code, puis cliquez sur Copier. Dans WebForm1.aspx.cs, collez le code dans l’événement
Page_Load
:// Create connection string variable. Modify the "Data Source" // parameter as appropriate for your environment. String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Server.MapPath("../ExcelData.xls") + ";" + "Extended Properties=Excel 8.0;"; // Create connection object by using the preceding connection string. OleDbConnection objConn = new OleDbConnection(sConnectionString); // Open connection with the database. objConn.Open(); // The code to follow uses a SQL SELECT command to display the data from the worksheet. // Create new OleDbCommand to return data from worksheet. OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM myRange1", objConn); // Create new OleDbDataAdapter that is used to build a DataSet // based on the preceding SQL SELECT statement. OleDbDataAdapter objAdapter1 = new OleDbDataAdapter(); // Pass the Select command to the adapter. objAdapter1.SelectCommand = objCmdSelect; // Create new DataSet to hold information from the worksheet. DataSet objDataset1 = new DataSet(); // Fill the DataSet with the information from the worksheet. objAdapter1.Fill(objDataset1, "XLData"); // Bind data to DataGrid control. DataGrid1.DataSource = objDataset1.Tables[0].DefaultView; DataGrid1.DataBind(); // Clean up objects. objConn.Close();
Dans le menu Fichier , cliquez sur Enregistrer tout pour enregistrer les fichiers projet.
Dans le menu Générer , cliquez sur Générer pour générer le projet. Cette étape prépare le code dans la page code-behind afin qu’il puisse être exécuté.
Dans Explorateur de solutions, cliquez avec le bouton droit sur WebForm1.aspx, puis cliquez sur Afficher dans le navigateur pour exécuter le code.
Explication de code supplémentaire
L’exemple de code de cet article utilise le fournisseur MICROSOFT Jet OLE DB pour accéder à la feuille de calcul Excel. Ce code utilise les chaîne de connexion suivantes pour se connecter à la feuille de calcul :
// Create connection string variable. Modify the "Data Source"
// parameter as appropriate for your environment.
String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + Server.MapPath("../ExcelData.xls") + ";" +
"Extended Properties=Excel 8.0;";
Comme l’indiquent les commentaires, vous devez modifier les informations de chemin d’accès de la feuille de calcul Excel spécifique. En outre, vous devez également définir la valeur du Extended Properties
paramètre pour qu’il se connecte correctement au fichier.
Note
La chaîne de connexion utilise la Server.MapPath
fonction. Cette fonction prend un chemin d’accès relatif à Microsoft Internet Information Services (IIS) vers un fichier et retourne un chemin de disque dur vers ce fichier. Par exemple, dans l’exemple de section Créer un exemple de feuille de calcul Excel, vous créez ExcelData.xls dans le répertoire racine web, qui se trouve généralement à l’emplacement C:\Inetpub\Wwwroot
. Cela crée également un sous-dossier nommé ExcelCSTest dans le dossier Wwwroot et un fichier nommé WebForm1.aspx dans le _ExcelCSTest_folder.
Dans cet exemple, le chemin du fichier sur le disque dur est semblable C:\Inetpub\Wwwroot\ExcelCSTest
. Wwwroot contient ExcelData.xls, ExcelCSTest contient WebForm1.aspx.
Le chemin d’accès IIS aux fichiers est semblable C:\Web Root\ExcelCSTest
à . Et la racine web contient ExcelData.xls, ExcelCSTest contient WebForm1.aspx.
Dans ce cas, le chemin d’accès relatif de la page WebForm1.aspx au fichier ExcelData.xls est .. /ExcelData.xls. . . / caractères informent IIS d’atteindre un niveau de dossier. Par conséquent, le code Server.MapPath("../ExcelData.xls")
retourne la chaîne suivante :
C:\Inetpub\Wwwroot\ExcelData.xls
Vous n’êtes pas obligé d’utiliser Server.MapPath
. Vous pouvez également coder en dur ces informations sur un chemin spécifique, ou vous pouvez utiliser n’importe quelle méthode pour fournir l’emplacement du fichier Excel sur le disque dur.
References
Pour plus d’informations sur l’utilisation de ADO.NET, consultez Comment remplir un objet DataSet à partir d’une base de données à l’aide de Visual C# .NET
Note
Les noms de sociétés, d'organisations, de produits, de domaines, d'adresses de messagerie, de logos, de personnes, de lieux et d'événements mentionnés dans les exemples sont fictifs. Toute ressemblance avec des noms ou des événements réels est purement fortuite et involontaire.