ASP.NET, ADO.NET ve Visual C# .NET kullanarak Excel verilerini sorgulama ve görüntüleme

Bu makalede, Visual C# .NET kullanarak excel çalışma sayfasından ASP.NET (.aspx) sayfasından verileri sorgulama ve görüntüleme işlemleri gösterilmektedir.

Orijinal ürün sürümü: ASP.NET
Özgün KB numarası: 306572

Örnek excel çalışma sayfası oluşturma

  1. Microsoft Excel'i başlatın ve yeni bir çalışma sayfası oluşturun.

  2. Excel veritabanı oluşturmak için yeni çalışma sayfasına aşağıdaki bilgileri ekleyin:

    Satır numarası A B
    1 Ad Soyadı
    2 Scott Bishop
    3 Katie Ürdün

    Not

    Veriler bu örnekte A1 hücresiyle başlasa da, bu verileri çalışma sayfası içindeki bitişik hücrelere ekleyebilirsiniz.

  3. Verilerin bulunduğu satırları ve sütunları vurgulayın.

  4. Ekle menüsünde, Ad'ın üzerine gelin ve Tanımla'ya tıklayın.

  5. Çalışma kitabındaki adlar metin kutusuna myRange1 yazın ve Tamam'a tıklayın.

  6. Dosya menüsünde Kaydet'e tıklayın. Kayıt yapılanlar listesinde Web sunucusu kökünü (genellikle C:\InetPub\Wwwroot\) seçin. Dosya adı metin kutusuna ExcelData.xlsyazın. Tamam'ı tıklatın.

  7. Dosya menüsünde, Çıkış'a tıklayın.

Visual C# .NET kullanarak ASP.NET örneği oluşturma

Bu kod örneği, Excel çalışma sayfasında bilgilerin nasıl sorgulanıp görüntüleneceğini gösterir. Aşağıdaki kod, önceki bölümde oluşturduğunuz çalışma sayfasını kullanır.

  1. Microsoft Visual Studio .NET'i açın. Visual Studio .NET Tümleşik Geliştirme Ortamı (IDE) görüntülenir.

  2. Dosya menüsünde, Yeni'nin üzerine gelin ve Proje'ye tıklayın.

  3. Yeni Proje iletişim kutusundaki Proje Türleri'nin altında Visual C# Projeleri'ne tıklayın. Şablonlar'ın altında Web Uygulaması ASP.NET'e tıklayın.

  4. Yeni Proje iletişim kutusunda Ad ve Konum metin kutularını bulun.

    Not

    • Ad metin kutusu kullanılamaz (gri görünür veya soluk görünür). Konum metin kutusu metnini (veya benzerini) http://localhost/WebApplication1içerir.
    • Konum metin kutusundaki metni ile http://localhost/ExcelCSTestdeğiştirin ve tamam'a tıklayın. WebForm1.aspx adlı bir Web Formu içeren yeni bir proje oluşturulur.
  5. Visual Studio .NET IDE'de Çözüm Gezgini penceresini bulun. Bulamıyorsanız Görünüm menüsünde Çözüm Gezgini'e tıklayın.

  6. Çözüm Gezgini'da, WebForm1.aspx sağ tıklayın ve ardından tasarımcıyı sayfanın görünümü için görüntülemek üzere Tasarım Aracı Görüntüle'ye tıklayın. Tasarımcı, denetimler eklemenize ve sayfanın görünümünü düzenlemenize olanak tanır.

  7. Araç kutusunu bulun. IDE Seçeneği ayarlarınıza bağlı olarak, araç kutusu bir pencere veya düğme (genellikle IDE'nin sol tarafında görünür) olarak görünebilir. Araç kutusunu bulamıyorsanız Görünüm menüsünde Araç Kutusu'na tıklayın.

    Araç kutusu düğme olarak görünüyorsa, araç kutusunun içeriğinin görüntülenmesi için işaretçiyi düğmenin üzerine getirin.

  8. Web Formunun tasarımcı görünümü etkin olduğunda, araç kutusu Web Forms, Bileşenler, HTML ve diğer bölümler de dahil olmak üzere bölümlere ayrılır. Web Forms bölümüne tıklayın.

  9. Araç kutusunun Web Forms bölümünde DataGrid'e tıklayın ve webform1 için tasarımcıya sürükleyin.

  10. WebForm1.aspx sağ tıklayın ve ardından Arka planda kod sayfa kaynağını görüntülemek için Kodu Görüntüle'ye tıklayın.

  11. Aşağıdaki deyimleri arka planda kod sayfasının en üstüne, ad alanı bölümünün üstüne ekleyin:

    using System.Data.OleDb;
    using System.Data;
    
  12. Aşağıdaki kodu vurgulayın, koda sağ tıklayın ve ardından Kopyala'ya tıklayın. WebForm1.aspx.cs kodu olaya yapıştırınPage_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();
    
  13. Proje dosyalarını kaydetmek için Dosya menüsünde Tümünü Kaydet'e tıklayın.

  14. Projeyi derlemek için Oluştur menüsünde Oluştur'a tıklayın. Bu adım, yürütülebilmesi için arka planda kod sayfasındaki kodu hazırlar.

  15. Çözüm Gezgini WebForm1.aspx sağ tıklayın ve sonra kodu çalıştırmak için Tarayıcıda Görüntüle'ye tıklayın.

Ek kod açıklaması

Bu makaledeki kod örneği, Excel çalışma sayfasına erişmek için Microsoft Jet OLE DB Sağlayıcısı'nı kullanır. Bu kod, çalışma sayfasına bağlanmak için aşağıdaki bağlantı dizesi kullanır:

// 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;";

Açıklamalarda da belirtildiği gibi, belirli bir Excel çalışma sayfasının yol bilgilerini değiştirmeniz gerekir. Ayrıca, dosyaya düzgün bağlanmak için parametresinin Extended Properties değerini de ayarlamanız gerekir.

Not

bağlantı dizesi işlevini kullanırServer.MapPath. Bu işlev, bir dosyaya Microsoft Internet Information Services (IIS) ile ilgili bir yol alır ve bu dosyaya sabit disk yolu döndürür. Örneğin, Örnek Excel çalışma sayfası oluştur bölümünde, genellikle konumunda C:\Inetpub\Wwwrootbulunan Web kök dizininde ExcelData.xls oluşturursunuz. Bu, Wwwroot klasöründe ExcelCSTest adlı bir alt klasör ve _ExcelCSTest_folder içinde WebForm1.aspx adlı bir dosya da oluşturur.

Bu örnekte, sabit diskteki dosya yolu gibidir C:\Inetpub\Wwwroot\ExcelCSTest. WwwrootExcelData.xlsiçerir, ExcelCSTestWebForm1.aspx içerir.

Dosyaların IIS yolu gibidir C:\Web Root\ExcelCSTest. Web KöküExcelData.xlsiçerir, ExcelCSTestWebForm1.aspx içerir.

Bu durumda, WebForm1.aspx sayfasından ExcelData.xls dosyasına göreli yol .. /ExcelData.xls. .. / karakterleri IIS'ye bir klasör düzeyine çıkmalarını bildirir. Bu nedenle kod Server.MapPath("../ExcelData.xls") aşağıdaki dizeyi döndürür:

C:\Inetpub\Wwwroot\ExcelData.xls

kullanmanız Server.MapPathgerekmez. Ayrıca bu bilgileri belirli bir yola sabit kodlayabilir veya sabit diskte Excel dosyasının konumunu sağlamak için herhangi bir yöntemi kullanabilirsiniz.

Başvurular

ADO.NET kullanma hakkında daha fazla bilgi için bkz. Visual C# .NET Kullanarak Veritabanından DataSet Nesnesi Doldurma

Not

Burada gösterilen örnek şirketler, kuruluşlar, ürünler, etki alanı adları, e-posta adresleri, logolar, kişiler, yerler ve olaylar kurgusaldır. Hiçbir gerçek şirket, kuruluş, ürün, etki alanı adı, e-posta adresi, logo, kişi, yer veya olayla ilişkilendirme amaçlanmamıştır veya çıkarılmamalıdır.