Jak wyszukiwać i wyświetlać dane programu Excel przy użyciu programów ASP.NET, ADO.NET i Visual C# .NET

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 306572 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

W tym artykule opisano krok po kroku, jak wyświetlać dane z arkusza programu Excel przez stronę ASP.NET (.aspx) przy użyciu programu Visual C# .NET.


Tworzenie przykładowego arkusza programu Excel

  1. Uruchom program Microsoft Excel, a następnie utwórz nowy arkusz.
  2. Dodaj do nowego arkusza następujące informacje, aby utworzyć prostą bazę danych programu Excel:
    Zwiń tę tabelęRozwiń tę tabelę
    AB
    1ImięNazwisko
    2TomaszBator
    3AnnaMisiec
    UWAGA: Chociaż w tym przykładzie dane zaczynają się od komórki A1, można je wstawić w dowolnych sąsiadujących ze sobą komórkach w arkuszu.
  3. Wyróżnij wiersze i kolumny, w których znajdują się dane.
  4. W menu Wstaw wskaż polecenie Nazwa, a następnie kliknij polecenie Definiuj.
  5. W polu tekstowym Nazwy w skoroszycie wpisz mójZakres1, a następnie kliknij przycisk OK.
  6. W menu Plik kliknij polecenie Zapisz. Na liście Zapisz w wybierz katalog główny serwera sieci Web (zazwyczaj C:\InetPub\Wwwroot\). W polu tekstowym Nazwa pliku wpisz DaneExcel.xls. Kliknij przycisk OK.
  7. W menu Plik kliknij polecenie Zakończ.

Tworzenie przykładowego kodu programu ASP.NET za pomocą programu Visual C# .NET

W tym przykładowym kodzie zaprezentowano sposób wyszukiwania i wyświetlania informacji w arkuszu programu Excel. W następującym kodzie jest wykorzystywany arkusz utworzony w ramach procedury opisanej w poprzedniej sekcji.
  1. Otwórz program Microsoft Visual Studio .NET. Zostanie wyświetlone środowisko IDE (Integrated Development Environment) programu Visual Studio .NET.
  2. W menu File (Plik) wskaż polecenie New (Nowy), a następnie kliknij polecenie Project (Projekt).
  3. W oknie dialogowym New Project (Nowy projekt) w obszarze Project Types (Typy projektów) kliknij pozycję Visual C# Projects (Projekty w języku Visual C#). W obszarze Templates (Szablony) kliknij pozycję ASP.NET Web Application (Aplikacja sieci Web ASP.NET).
  4. W oknie dialogowym New Project (Nowy projekt) zlokalizuj pola tekstowe Name (Nazwa) i Location (Lokalizacja). Zwróć uwagę, że pole tekstowe Name (Nazwa) jest niedostępne (jest wyświetlane jako wyszarzone lub przyciemnione). Pole tekstowe Location (Lokalizacja) zawiera następujący tekst lub podobny:
    http://localhost/WebApplication1
    Zamień tekst w polu tekstowym Location (Lokalizacja) na http://localhost/ExcelCSTest, a następnie kliknij przycisk OK. Zostanie utworzony nowy projekt zawierający formularz sieci Web o nazwie WebForm1.aspx.
  5. W środowisku IDE programu Visual Studio .NET zlokalizuj okno Solution Explorer (Eksplorator rozwiązań). Jeśli nie możesz go znaleźć, kliknij polecenie Solution Explorer (Eksplorator rozwiązań) w menu View (Widok).
  6. W oknie Solution Explorer (Eksplorator rozwiązań) kliknij prawym przyciskiem myszy plik WebForm1.aspx, a następnie kliknij polecenie View Designer (Projektant widoku), aby wyświetlić projektanta wyglądu strony. Projektant ten umożliwia dodawanie formantów i zmienianie wyglądu strony.
  7. Zlokalizuj przybornik. Zależnie od ustawień opcji środowiska IDE przybornik może być wyświetlony jako okno lub jako przycisk (który często znajduje się po lewej stronie środowiska IDE). Jeśli nie można znaleźć przybornika, kliknij polecenie Toolbox (Przybornik) w menu View (Widok).

    Jeśli przybornik zostanie wyświetlony jako przycisk, umieść wskaźnik myszy na tym przycisku, aby została wyświetlona zawartość przybornika.
  8. Gdy w projektancie jest aktywny widok formularza sieci Web, przybornik jest podzielony na sekcje, m.in. sekcje Web Forms (Formularze sieci Web), Components (Składniki) i HTML. Kliknij sekcję Web Forms (Formularze sieci Web).
  9. W sekcji Web Forms (Formularze sieci Web) przybornika kliknij ikonę DataGrid (Siatka danych), a następnie przeciągnij ją na projektanta formularza WebForm1.
  10. Kliknij prawym przyciskiem myszy plik WebForm1.aspx, a następnie kliknij polecenie View Code (Pokaż kod), aby został wyświetlony kod źródłowy strony związanej z kodem.
  11. Dodaj następujące instrukcje na początku strony związanej z kodem, przed sekcją namespace:
    using System.Data.OleDb;
    using System.Data;
    					
  12. Wyróżnij następujący kod, kliknij go prawym przyciskiem myszy, a następnie kliknij polecenie Kopiuj. W pliku WebForm1.aspx.cs wklej kod w zdarzeniu Page_Load:
    // Utworzenie zmiennej ciągu połączenia. Zmodyfikowanie parametru „Data
    // Source” odpowiednio do danego środowiska.
    String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
    	"Data Source=" + Server.MapPath("../DaneExcel.xls") + ";" +
    	"Extended Properties=Excel 8.0;";
    
    // Utworzenie obiektu połączenia za pomocą powyższego ciągu połączenia.
    OleDbConnection objConn = new OleDbConnection(sConnectionString);
    
    // Otwarcie połączenia z bazą danych.
    objConn.Open();
    
    // Poniższy kod wyświetla dane z arkusza za pomocą polecenia SQL SELECT.
    
    // Utworzenie nowego obiektu OleDbCommand w celu zwrócenia danych z arkusza.
    OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM mójZakres1", objConn);
    
    // Utworzenie nowego obiektu OleDbAdapter, który zostanie użyty do utworzenia
    // obiektu DataSet na podstawie powyższej instrukcji SQL SELECT.
    OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
    
    // Przekazanie polecenia Select do adaptera.
    objAdapter1.SelectCommand = objCmdSelect;
    
    // Utworzenie nowego obiektu DataSet, w którym będą przechowywane informacje z arkusza.
    DataSet objDataset1 = new DataSet();
    
    // Wypełnienie obiektu DataSet informacjami z arkusza.
    objAdapter1.Fill(objDataset1, "XLData");
    
    // Powiązanie danych z formantem DataGrid.
    DataGrid1.DataSource = objDataset1.Tables[0].DefaultView;
    DataGrid1.DataBind();
    
    // Oczyszczenie obiektów.
    objConn.Close();
    					
  13. W menu File (Plik) kliknij polecenie Save All (Zapisz wszystko), aby zapisać pliki projektu.
  14. W menu Build (Kompilacja) kliknij polecenie Build (Kompiluj), aby skompilować projekt. Spowoduje to przygotowanie do wykonywania kodu na stronie związanej z kodem.
  15. W oknie Solution Explorer (Eksplorator rozwiązań) kliknij prawym przyciskiem myszy plik WebForm1.aspx, a następnie kliknij polecenie View in Browser (Pokaż w przeglądarce).

Dodatkowe objaśnienia do kodu

W kodzie przykładowym udostępnionym w tym artykule użyto dostawcy Microsoft Jet OLE DB w celu uzyskania dostępu do arkusza programu Excel. Kod ten łączy się z arkuszem za pomocą następującego ciągu połączenia:
// Utworzenie zmiennej ciągu połączenia. Zmodyfikowanie parametru „Data
// Source” odpowiednio do danego środowiska.
String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
	"Data Source=" + Server.MapPath("../DaneExcel.xls") + ";" +
	"Extended Properties=Excel 8.0;";
				
Jak jest napisane w komentarzach, trzeba zmodyfikować informacje o ścieżce, aby dotyczyły określonego arkusza programu Excel. Ponadto trzeba tak ustawić wartość parametru Extended Properties, aby ustanowić poprawne połączenie z plikiem.

W ciągu połączenia jest używana funkcja Server.MapPath. Funkcja ta pobiera ścieżkę pliku względną w stosunku do Internetowych usług informacyjnych (IIS) firmy Microsoft i zwraca ścieżkę dysku twardego do tego pliku. Na przykład w ramach procedury opisanej w sekcji Tworzenie przykładowego arkusza programu Excel został utworzony plik DaneExcel.xls w katalogu głównym serwera sieci Web, który zazwyczaj jest zlokalizowany w ścieżce C:\Inetpub\Wwwroot. Został też utworzony podfolder ExcelCSTest w folderze Wwwroot i plik o nazwie WebForm1.aspx w folderze ExcelCSTest.

W tym przykładzie ścieżka pliku na dysku twardym jest następująca:
     Dysk C
        - Inetpub
            - Wwwroot (który zawiera plik DaneExcel.xls)
                - ExcelCSTest (który zawiera plik WebForm1.aspx)
				
Ścieżka usług IIS do plików jest następująca:
     Katalog główny sieci Web (który zawiera plik DaneExcel.xls)
        - ExcelCSTest (który zawiera plik WebForm1.aspx)
				
W tym przykładzie ścieżka względna ze strony WebForm1.aspx do pliku DaneExcel.xls to „../DaneExcel.xls”. Znaki „../” informują usługi IIS, żeby przejść o jeden poziom wyżej w hierarchii folderów. Dlatego kod
Server.MapPath("../DaneExcel.xls")
				
zwraca następujący ciąg:
C:\Inetpub\Wwwroot\DaneExcel.xls
Korzystanie z funkcji Server.MapPath nie jest wymagane. Informacje o ścieżce można również wpisać bezpośrednio lub użyć dowolnej metody określenia lokalizacji pliku programu Excel na dysku twardym.

Materiały referencyjne

Aby uzyskać dodatkowe informacje dotyczące sposobu uzyskiwania dostępu do plików programu Excel za pomocą programu ASP.NET, kliknij następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:
307029 HOWTO: Transfer XML Data to Microsoft Excel 2002 by Using Visual C# .NET
306023 HOW TO: Transfer Data to an Excel Workbook by Using Visual C# .NET
Aby uzyskać dodatkowe informacje na temat programu ADO.NET, kliknij następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:
306636 Jak połączyć się z bazą danych i uruchomić polecenie za pomocą technologii ADO 2005 i programu Visual C# 2005 lub technologii ADO.NET i programu Visual C# .NET
314145 JAK: Wypełnianie obiektu DataSet danymi z bazy danych za pomocą programu Visual C# .NET
307587 Jak zaktualizować bazę danych przy użyciu obiektu DataSet i programu Visual C# 2005 lub Visual C# .NET
UWAGA: Opisane tu przykłady firm, organizacji, produktów, nazw domen, adresów e-mail, logo, osób, miejsc i zdarzeń są fikcyjne. Ewentualny związek z rzeczywistą firmą, organizacją, produktem, nazwą domeny, adresem e-mail, logo, osobą, miejscem lub zdarzeniem jest niezamierzony i nie należy się go doszukiwać.

Właściwości

Numer ID artykułu: 306572 - Ostatnia weryfikacja: 13 czerwca 2007 - Weryfikacja: 4.4
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft ADO.NET 1.1
  • Microsoft ADO.NET (included with the .NET Framework)
Słowa kluczowe: 
kbdatabase kbhowtomaster kbwebforms KB306572

Przekaż opinię

 

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