SO WIRD´S GEMACHT: Abfragen und Anzeigen von Excel-Daten mit ASP.NET, ADO.NET und Visual C# .NET

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 306572 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde zuvor veröffentlicht unter D306572
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
306572 HOW TO: Query and Display Excel Data Using ASP.NET, ADO.NET, and Visual C# .NET
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser in einzelne Schritte gegliederte Artikel erläutert, wie Sie Daten aus einem Excel-Arbeitsblatt durch eine ASP.NET-Seite (.aspx) unter Verwendung von Visual C# .NET anzeigen lassen können.

Excel-Beispielarbeitsblatt erstellen

  1. Starten Sie Microsoft Excel und erstellen Sie ein neues Arbeitsblatt.
  2. Fügen Sie die folgenden Informationen in das neue Arbeitsblatt ein, um eine einfache Excel-Datenbank zu erstellen:

    Tabelle minimierenTabelle vergrößern
    AB
    1 FirstName LastName
    2 Scott Bishop
    3 Katie Jordan

    Anmerkung: Die Daten beginnen in diesem Beispiel zwar in Zelle A1, Sie können diese Daten jedoch auch in alle angrenzenden Zellen innerhalb des Arbeitsblattes eingeben.
  3. Markieren Sie die Zeilen und Spalten, in denen sich die Daten befinden.
  4. Zeigen Sie im Menü Einfügen auf Name, und klicken Sie dann auf Festlegen.
  5. In das Textfeld Namen in der Arbeitsmappe geben Sie bitte myRange1 ein. Klicken Sie anschließend auf OK.
  6. Klicken Sie im Menü Datei auf Speichern. In der Liste Speichern in wählen Sie bitte den Webserver-Stammordner aus (in der Regel ist dies "C:\InetPub\Wwwroot\"). In das Textfeld Dateiname geben Sie bitte ExcelData.xls ein. Klicken Sie auf OK.
  7. Klicken Sie im Menü Datei auf Beenden.

Erstellen eines ASP.NET-Beispiels mit Visual C# .NET

Dieses Codebeispiel demonstriert, wie Sie die Informationen aus einem Excel-Arbeitsblatt abfragen und anzeigen lassen können. Bei dem folgenden Code wird das Arbeitsblatt verwendet, das Sie durch die Schritte im vorherigen Abschnitt erstellt haben.
  1. Öffnen Sie "Microsoft Visual Studio .NET". Die Visual Studio .NET-IDE (IDE = Integrated Development Environment) wird angezeigt.
  2. Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.
  3. Klicken Sie im Dialogfeld Neues Projekt hinzufügen unter Projekttypen auf Visual C#-Projekte. Unter Vorlagen klicken Sie bitte auf ASP.NET-Webanwendung.
  4. Im Dialogfeld Neues Projekt hinzufügen suchen Sie die Textfelder Name und Speicherort. Beachten Sie, dass das Textfeld Name nicht verfügbar (grau unterlegt oder abgeblendet) ist. Das Textfeld Speicherort enthält den folgenden Text (oder einen ähnlichen):
    http://localhost/WebApplication1
    Ersetzen Sie den Text im Textfeld Speicherort durch http://localhost/ExcelCSTest. Klicken Sie anschließend auf OK. Es wird ein neues Projekt erstellt, das ein Webformular mit dem Namen "WebForm1.aspx" beinhaltet.
  5. Gehen Sie in der Visual Studio .NET-IDE zum Fenster des Projektmappen-Explorers. Können Sie dieses Fenster nicht finden, klicken Sie bitte im Menü Ansicht auf Projektmappen-Explorer.
  6. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf WebForm1.aspx. Klicken Sie dann auf Designer anzeigen, um sich den Designer für das Erscheinungsbild der Seite anzeigen zu lassen. In diesem Designer können Sie Steuerelemente hinzufügen und das Erscheinungsbild der Seite Ihren Wünschen entsprechend gestalten.
  7. Gehen Sie zur Toolbox. In Abhängigkeit von den Einstellungen, die Sie für die IDE-Optionen gewählt haben, kann die Toolbox ein Fenster oder eine Schaltfläche sein (die häufig auf der linken Seite der IDE erscheint). Können Sie die Toolbox nicht finden, klicken Sie bitte im Menü Ansicht auf Toolbox.

    Wird die Toolbox als Schaltfläche angezeigt, bewegen Sie bitte den Mauszeiger über diese Schaltfläche, um sich den Inhalt der Toolbox anzeigen zu lassen.
  8. Wenn die Designeransicht eines Webformulars aktiv ist, wird die Toolbox in verschiedene Bereiche unterteilt (Webformulare, Komponenten, HTML und sonstige Bereiche). Klicken Sie auf den Webformular-Bereich.
  9. Klicken Sie im Webformular-Bereich der Toolbox auf DataGrid, und ziehen Sie ihn dann in den Designer für "WebForm1".
  10. Klicken Sie mit der rechten Maustaste auf WebForm1.aspx. Klicken Sie dann auf Code anzeigen, um sich die Quelle für die CodeBehind-Seite anzeigen zu lassen.
  11. Fügen Sie oben in der CodeBehind-Seite (oberhalb des Namespace-Bereichs) die folgenden Anweisungen ein:
    using System.Data.OleDb;
    using System.Data;
  12. Heben Sie den folgenden Code hervor, klicken Sie mit der rechten Maustaste auf den Code, und klicken Sie danach auf Kopieren. In "WebForm1.aspx.cs" fügen Sie den Code in das Ereignis Page_Load 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();
  13. Klicken Sie im Menü Datei auf Alle speichern, um die Projektdateien zu speichern.
  14. Klicken Sie im Menü Erstellen auf Erstellen, um das Projekt zu generieren. Dadurch wird der Code in der CodeBehind-Seite so vorbereitet, dass er ausgeführt werden kann.
  15. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf WebForm1.aspx, und klicken Sie danach auf In Browser anzeigen, um den Code ausführen zu lassen.

Weitere Erläuterung des Codes

Der Code in diesem Beispiel verwendet den Microsoft Jet OLE DB Provider für den Zugriff auf das Excel-Arbeitsblatt. Der Code verwendet die folgende Verbindungszeichenfolge für die Herstellung der Verbindung zu dem Arbeitsblatt:
// 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 Sie den Kommentaren entnehmen können, müssen Sie die Pfadinformationen so modifizieren, dass sie auf das spezifische Excel-Arbeitsblatt verweisen. Außerdem müssen Sie den Wert für den Parameter Erweiterte Eigenschaften so festlegen, dass eine ordnungsgemäße Verbindung zu der Datei hergestellt wird.

Beachten Sie bitte, dass die Verbindungszeichenfolge die Funktion Server.MapPath verwendet. Diese Funktion überträgt einen Pfad, der sich auf Microsoft Internet Information Services (IIS) bezieht, auf eine Datei, und meldet dann einen Festplattenpfad an diese Datei zurück. Im Abschnitt Excel-Beispielarbeitsblatt erstellen erstellen Sie zum Beispiel die Datei "ExcelData.xls" im Web-Stammverzeichnis (in der Regel ist dies "C:\Inetpub\Wwwroot"). Dadurch werden auch ein Unterordner mit dem Namen "ExcelCSTest" im Ordner "Wwwroot" und eine Datei mit dem Namen "WebForm1.aspx" im Ordner "ExcelCSTest" erstellt.

In diesem Beispiel sieht der Dateipfad auf der Festplatte wie folgt aus:
     C drive
        - Inetpub
            - Wwwroot (which contains ExcelData.xls)
                - ExcelCSTest (which contains WebForm1.aspx)
Der IIS-Pfad zu den Dateien ist:
     Web Root (which contains ExcelData.xls)
        - ExcelCSTest (which contains WebForm1.aspx)
In diesem Fall ist der relative Pfad von der Seite "WebForm1.aspx" zu der Datei "ExcelData.xls" wie folgt: "../ExcelData.xls". Durch die Zeichen "../" wird IIS angewiesen, um eine Ordnerebene nach oben zu gehen. Daher gibt der Code
Server.MapPath("../ExcelData.xls")
die folgende Zeichenfolge zurück:
C:\Inetpub\Wwwroot\ExcelData.xls
Sie müssen Server.MapPath nicht verwenden. Sie können diese Information auch für einen bestimmten Pfad hart codieren oder jede andere Methode anwenden, mit der der Speicherort der Excel-Datei auf der Festplatte angegeben werden kann.

Informationsquellen

Weitere Informationen zum Zugriff auf Excel-Dateien mit ASP.NET finden Sie im folgenden Artikel der Microsoft Knowledge Base:
307029 HOWTO: Transfer XML Data to Microsoft Excel 2002 Using Visual C# .NET
Weitere Informationen zur Verwendung von ADO.NET finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
306636 HOW TO: Connect to a Database and Run a Command Using ADO.NET and Visual C# .NET
314145 HOW TO: Populate a DataSet Object from a Database Using Visual C# .NET
307587 HOW TO: Update a Database from a DataSet Object Using Visual C# .NET
Anmerkung: Sofern nicht ausdrücklich anders angegeben, sind die Beispiele für Unternehmen, Organisationen, Produkte, Domänennamen, E-Mail-Adressen, Logos, Personen, Orte und Ereignisse in diesem Dokument rein fiktiv und haben keinerlei beabsichtigten Bezug zu realen Unternehmen, Organisationen, Produkten, Domänennamen, E-Mail-Adressen, Logos, Personen, Orten und Ereignissen.



Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.

Eigenschaften

Artikel-ID: 306572 - Geändert am: Freitag, 25. April 2003 - Version: 2.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft ASP .NET (in .NET Framework enthalten)
  • Microsoft ADO .NET (in .NET Framework enthalten)
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
Keywords: 
kbhowto kbhowtomaster kbwebforms kbdatabase kbgrpdsasp KB306572
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com