Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird das Abfragen und Anzeigen von Daten aus einem Excel-Arbeitsblatt mithilfe einer ASP.NET -Seite (.aspx) mithilfe von Visual C# .NET veranschaulicht.
Ursprüngliche Produktversion: ASP.NET
Ursprüngliche KB-Nummer: 306572
Erstellen eines Excel-Beispielarbeitsblatts
Starten Sie Microsoft Excel, und erstellen Sie dann ein neues Arbeitsblatt.
Fügen Sie dem neuen Arbeitsblatt die folgenden Informationen hinzu, um eine Excel-Datenbank zu erstellen:
Zeilennummer H b 1 FirstName LastName 2 Scott Bischof 3 Katie Jordanien Notiz
Obwohl die Daten mit Zelle A1 in diesem Beispiel beginnen, können Sie diese Daten allen angrenzenden Zellen im Arbeitsblatt hinzufügen.
Markieren Sie die Zeilen und Spalten, in denen sich die Daten befinden.
Zeigen Sie im Menü "Einfügen " auf " Name", und klicken Sie dann auf "Definieren".
Geben Sie im Textfeld "Namen" in der Arbeitsmappe "myRange1" ein, und klicken Sie dann auf "OK".
Klicken Sie im Menü Datei auf Speichern. Wählen Sie in der Liste "Speichern in " den Webserverstamm (normalerweise
C:\InetPub\Wwwroot\
) aus. Geben Sie im Textfeld "Dateiname" ExcelData.xls ein. Klicken Sie auf OK.Klicken Sie im Menü Datei auf Beenden.
Erstellen eines ASP.NET-Beispiels mithilfe von Visual C# .NET
In diesem Codebeispiel wird das Abfragen und Anzeigen von Informationen in einem Excel-Arbeitsblatt veranschaulicht. Der folgende Code verwendet das Arbeitsblatt, das Sie im vorherigen Abschnitt erstellt haben.
Öffnen Sie Microsoft Visual Studio .NET. Visual Studio .NET Integrated Development Environment (IDE) wird angezeigt.
Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.
Klicken Sie im Dialogfeld "Neues Projekt " unter "Projekttypen" auf "Visual C#-Projekte". Klicken Sie unter "Vorlagen" auf ASP.NET Webanwendung.
Suchen Sie im Dialogfeld "Neues Projekt " die Textfelder "Name " und "Speicherort ".
Notiz
- Das Textfeld "Name " ist nicht verfügbar (es wird abgeblendet oder abgeblendet angezeigt). Das Textfeld "Position" enthält den Text (oder ähnlich).
http://localhost/WebApplication1
- Ersetzen Sie den Text im Textfeld "Speicherort " durch
http://localhost/ExcelCSTest
, und klicken Sie dann auf "OK". Es wird ein neues Projekt erstellt, das ein Webformular mit dem Namen WebForm1.aspx enthält.
- Das Textfeld "Name " ist nicht verfügbar (es wird abgeblendet oder abgeblendet angezeigt). Das Textfeld "Position" enthält den Text (oder ähnlich).
Suchen Sie in der .NET-IDE von Visual Studio das fenster Projektmappen-Explorer. Wenn Sie sie nicht finden können, klicken Sie im Menü "Ansicht" auf Projektmappen-Explorer.
Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf WebForm1.aspx, und klicken Sie dann auf "Designer anzeigen", um den Designer für die Darstellung der Seite anzuzeigen. Mit dem Designer können Sie Steuerelemente hinzufügen und die Darstellung der Seite bearbeiten.
Suchen Sie die Toolbox. Je nach Den IDE-Optionseinstellungen kann die Toolbox als Fenster oder Schaltfläche angezeigt werden (die häufig auf der linken Seite der IDE angezeigt wird). Wenn Sie die Toolbox nicht finden können, klicken Sie im Menü "Ansicht" auf "Toolbox".
Wenn die Toolbox als Schaltfläche angezeigt wird, bewegen Sie den Mauszeiger über die Schaltfläche, damit der Inhalt der Toolbox angezeigt wird.
Wenn die Designeransicht eines Webformulars aktiv ist, wird die Toolbox in Abschnitte unterteilt, darunter Webformulare, Komponenten, HTML und andere Abschnitte. Klicken Sie auf den Abschnitt "Webformulare ".
Klicken Sie im Abschnitt "Web Forms " der Toolbox auf "DataGrid", und ziehen Sie es dann auf den Designer für WebForm1.
Klicken Sie mit der rechten Maustaste auf WebForm1.aspx, und klicken Sie dann auf "Code anzeigen", um die CodeBehind-Seitenquelle anzuzeigen.
Fügen Sie oben auf der CodeBehind-Seite oberhalb des Namespaceabschnitts die folgenden Anweisungen hinzu:
using System.Data.OleDb; using System.Data;
Markieren Sie den folgenden Code, klicken Sie mit der rechten Maustaste auf den Code, und klicken Sie dann auf "Kopieren". Fügen Sie in WebForm1.aspx.cs den Code in das
Page_Load
Ereignis ein:// 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();
Klicken Sie im Menü "Datei " auf " Alle speichern", um die Projektdateien zu speichern.
Klicken Sie im Menü "Erstellen " auf "Erstellen ", um das Projekt zu erstellen. In diesem Schritt wird der Code auf der CodeBehind-Seite vorbereitet, sodass er ausgeführt werden kann.
Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf WebForm1.aspx, und klicken Sie dann im Browser auf "Anzeigen", um den Code auszuführen.
Zusätzliche Codeerklärung
Im Codebeispiel in diesem Artikel wird der Microsoft Jet OLE DB-Anbieter verwendet, um auf das Excel-Arbeitsblatt zuzugreifen. Dieser Code verwendet die folgenden Verbindungszeichenfolge, um eine Verbindung mit dem Arbeitsblatt herzustellen:
// 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;";
Wie die Kommentare angeben, müssen Sie die Pfadinformationen für das bestimmte Excel-Arbeitsblatt ändern. Darüber hinaus müssen Sie auch den Wert des Extended Properties
Parameters festlegen, um eine ordnungsgemäße Verbindung mit der Datei herzustellen.
Notiz
Die Verbindungszeichenfolge verwendet die Server.MapPath
Funktion. Diese Funktion verwendet einen Pfad, der relativ zu Microsoft-Internetinformationsdienste (IIS) zu einer Datei ist und einen Festplattenpfad zu dieser Datei zurückgibt. Im Abschnitt "Excel-Beispielarbeitsblatt erstellen" erstellen Sie z. B. ExcelData.xls im Webstammverzeichnis, das sich in der Regel befindetC:\Inetpub\Wwwroot
. Dadurch wird auch ein Unterordner namens "ExcelCSTest" im Ordner "Wwwroot" und eine Datei mit dem Namen "WebForm1.aspx innerhalb der _ExcelCSTest_folder erstellt.
In diesem Beispiel sieht der Dateipfad auf der Festplatte wie C:\Inetpub\Wwwroot\ExcelCSTest
folgt aus. Wwwroot enthält ExcelData.xls, ExcelCSTest enthält WebForm1.aspx.
Der IIS-Pfad zu den Dateien ist wie C:\Web Root\ExcelCSTest
folgt. Und Webstamm enthält ExcelData.xls, ExcelCSTest enthält WebForm1.aspx.
In diesem Fall ist der relative Pfad von der WebForm1.aspx-Seite zur ExcelData.xls Datei .. /ExcelData.xls. Die .. / Zeichen informieren IIS, um eine Ordnerebene nach oben zu wechseln. Der Code Server.MapPath("../ExcelData.xls")
gibt also die folgende Zeichenfolge zurück:
C:\Inetpub\Wwwroot\ExcelData.xls
Sie müssen nicht verwenden Server.MapPath
. Sie können diese Informationen auch auf einen bestimmten Pfad hart codieren, oder Sie können eine beliebige Methode verwenden, um den Speicherort der Excel-Datei auf der Festplatte anzuzeigen.
References
Weitere Informationen zur Verwendung von ADO.NET finden Sie unter How To Populate a DataSet Object from a Database by Using Visual C# .NET
Notiz
Die in den Beispielen genannten Unternehmen, Organisationen, Produkte, Domänennamen, E-Mail-Adressen, Logos, Personen, Orte und Ereignisse sind frei erfunden. Jede Ähnlichkeit mit tatsächlichen Firmen, Organisationen, Produkten, Domänen, Personen, Orten, Ereignissen, E-Mail-Adressen und Logos ist rein zufällig.