ExcelADO, Excel çalışma kitaplarındaki verileri okumak ve yazmak için ADO'nun nasıl kullanılacağını gösterir

Özet

ExcelADO. exe örneği, Microsoft Excel çalışma kitaplarında verileri okumak ve yazmak için ActiveX veri nesneleri 'ni (ADO) Microsoft Jet OLE DB 4,0 sağlayıcısı ile nasıl kullanabileceğinizi gösterir.

Ek Bilgi

Neden ADO kullanıyorsunuz?

Excel çalışma kitabından veri aktarmak veya Excel çalışma kitabından veri aktarmak için ADO kullanımı sayesinde, geliştirici sayesinde geliştirici sayesinde Excel 'de Otomasyon ile ilgili birkaç avantaj sağlanır:

  • Performans. Microsoft Excel, işlem dışı bir ActiveX sunucusudur. ADO işlem içinde çalışır ve maliyetli işlemler dışında olan çağrıların genel yükünü kaydeder.

  • Ölçeklenebilirlik. Web uygulamalarında, Microsoft Excel 'i otomatikleştirmenin her zaman tercih edilir. ADO, çalışma kitabındaki verileri işleyebilmek için daha ölçeklenebilir bir çözüm sunar.

ADO, yalnızca ham verileri çalışma kitabına aktarmak için kullanılabilir. Hücrelere biçim veya formül uygulamak için ADO 'YU kullanamazsınız. Ancak, önceden biçimlendirilmiş ve biçimlendirme korunur bir çalışma kitabına verileri aktarabilirsiniz. Veriler eklendikten sonra "koşullu" biçimlendirme gerekiyorsa, bu biçimlendirmeyi Otomasyon ile veya çalışma kitabındaki bir makroyla gerçekleştirebilirsiniz.

Excel çalışma kitapları için Jet OLE DB sağlayıcısı özellikleri

Microsoft Jet veritabanı altyapısı, Excel çalışma kitapları gibi diğer veritabanı dosya biçimlerindeki verilere, yüklenebilir dizinli sıralı erişim yöntemi (ISAM) sürücüleri aracılığıyla erişmek için kullanılabilir. Microsoft Jet 4,0 OLE DB sağlayıcısı tarafından desteklenen dış biçimleri açmak için, bağlantının genişletilmiş özelliklerinde veritabanı türünü belirtirsiniz. Jet OLE DB sağlayıcısı, Microsoft Excel çalışma kitapları için aşağıdaki veritabanı türlerini destekler:

  • Excel 3,0

  • Excel 4,0

  • Excel 5,0

  • Excel 8,0

Not: microsoft Excel 5,0 ve 7,0 (95) çalışma kitapları için Excel 5,0 kaynak veritabanı türünü kullanın ve microsoft Excel 8,0 (8,0) ve 97 (9,0) çalışma kitapları için Excel 2000 Kaynak veritabanı türünü kullanın. ExcelADO. exe örneği Excel 97 ve Excel 2000 biçimindeki Excel çalışma kitaplarını kullanır. Aşağıdaki örnekler bir Excel 97 (veya 2000) çalışma kitabına ADO bağlantısını gösterir:

Dim oConn As New ADODB.ConnectionWith oConn    .Provider = "Microsoft.Jet.OLEDB.4.0"    .Properties("Extended Properties").Value = "Excel 8.0"    .Open "C:\Book1.xls"    '....    .CloseEnd With

-veya-

Dim oConn As New ADODB.ConnectionoConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _           "Data Source=C:\Book1.xls;" & _           "Extended Properties=""Excel 8.0;"""oConn.Close

Tablo adlandırma kurallarıExcel çalışma kitabındaki bir tabloya (veya aralığa) başvurmanın birkaç yolu vardır:

  • Sayfa adını ve ardından dolar işareti (örneğin [Sayfa1 $] veya [çalışma sayfası $]) kullanın. Bu şekilde başvurulan bir çalışma kitabı tablosu, çalışma sayfasının kullandığı aralığın tamamını içerir.

    oRS.Open "Select * from [Sheet1$]", oConn, adOpenStatic
  • Tanımlı bir adla (örneğin, [tablo1]) bir Aralık kullanın.

    oRS.Open "Select * from Table1", oConn, adOpenStatic
  • Belirli bir adresle (örneğin [Sheet1 $ a1: B10]) bir Aralık kullanın.

    oRS.Open "Select * from [Sheet1$A1:B10]", oConn, adOpenStatic

Tablo başlıklarıExcel çalışma kitaplarında, bir aralıktaki ilk satır, varsayılan olarak üst bilgi satırı (veya alan adları) olarak değerlendirilir. İlk Aralık üst bilgi içermiyorsa, bağlantı dizenizin genişletilmiş özelliklerinde HDR = Hayır belirtebilirsiniz. İlk satırda üst bilgi yoksa, OLE DB sağlayıcısı alanları sizin için otomatik olarak adlandırır (burada F1 ilk alanı temsil eder; burada F1 ikinci alanı gösterir, vb.).Veri türleriGeleneksel bir veritabanından farklı olarak, Excel tablolarında sütunların veri türlerini belirtmenizin doğrudan bir yolu yoktur. Bunun yerine OLE DB sağlayıcısı bir sütunda sınırlı sayıda satır tarar ve alanın veri türünü "tahmin edin". Taranacak satır sayısı, varsayılan değer olan sekiz (8) satır; bağlantı dizgenizin genişletilmiş özelliklerindeki MaxScanRows ayarı için bir (1) ile altı (16) arasında bir değer belirterek taranacak satır sayısını değiştirebilirsiniz.

Örnekteki dosyalar

ExcelADO. exe dosyası, 2000 şablonlar gibi davranan bir Visual Basic Standart EXE projesi, Active Server Pages (ASP), Excel 97 ve Excel 2000 çalışma kitaplarını içerir. Bu dosyalar aşağıdaki gibidir:Visual Basic Standard exe Project dosyaları

  • ExcelADO.vbp

  • Form1.frm

  • Form1.frx

Active Server sayfaları

  • EmpData.asp

  • Orders.asp

Microsoft Excel çalışma kitapları

  • OrdersTemplate.xls

  • EmpDataTemplate.xls

  • ProductsTemplate.xls

  • SourceData.xls

Microsoft Access veritabanı

  • Data.mdb

Örneği kullanma

. Exe dosyasının içeriğini bir klasöre ayıklayın.Visual Basic projesini kullanmak için:

  1. Visual Basic 'te, ExcelADO. vbp dosyasını açın.

  2. Proje menüsünde Başvurular'ı seçin ve Microsoft ADO Ext 'a başvurular 'ı ayarlayın . ddl ve güvenlik için ve Microsoft ActiveX veri nesneleri kitaplığı. Bu örnek kod hem ADO 2,5 hem de ADO 2,6 ile birlikte çalışarak bilgisayarınıza uygun olan sürümü seçin.

  3. Programı çalıştırmak için F5 tuşuna basın. Gösterim formu görüntülenir.

  4. Örnek 1' i tıklatın. Bu örnek, OrdersTemplate. xls ' in bir kopyasını oluşturur. Ardından çalışma kitabına bağlanmak için ADO kullanır ve çalışma kitabında tanımlı bir Aralık olan bir kayıt kümesi açar. Aralığın adı Orders_Table. Çalışma kitabındaki tanımlı aralığa kayıtları (veya satırları) eklemek için ADO AddNew/Update yöntemlerini kullanır. Satır eklemeleri tamamlandığında, ADO bağlantısı kapalıdır ve çalışma kitabı Microsoft Excel 'de görüntülenir. Bunu yapmak için aşağıdaki adımları izleyin:

    1. Excel 'deki Ekle menüsünde adlar'ı seçin ve Tanımla'yı seçin.

    2. Tanımlı adlar listesinde Orders_Table'i seçin. Tanımlı adın, yeni eklenen kayıtları içermeleri gerektiğini unutmayın. Tanımlı ad, Excel 'in ofset işleviyle birlikte kullanılır ve çalışma sayfasına Ekli veriler üzerinde bir toplam hesaplama.

    3. Microsoft Excel 'den çıkın ve Visual Basic uygulamasına dönün.

  5. Örnek 2' yi tıklatın. Bu örnek, EmpDataTemplate. xls ' in bir kopyasını oluşturur. Çalışma kitabına bağlanmak için ADO 'YU kullanır ve çalışma kitabına veri Execute eklemek (SQL 'de ekleme) için ADO bağlantısını kullanır. Veriler, çalışma kitabında tanımlı aralıklara (veya tablolarda) eklenir. Veriler aktarıldığında, bağlantı kapanır ve sonuçlar Excel 'de görüntülenir. Çalışma kitabını inceleyip Microsoft Excel 'den çıkın ve sonra da Visual Basic uygulamasına dönün.

  6. Örnek 3' ü tıklatın. Bu örnek, ProductsTemplate. xls ' in bir kopyasını oluşturur. Çalışma kitabına yeni bir tablo (veya yeni çalışma sayfası) eklemek için DDL ve güvenlik nesnesi kitaplığı (ADOX) için Microsoft ADO uzantıları 2,1 kullanır. Daha sonra yeni tablo için bir ADO kayıt kümesi alınır ve veriler AddNew/Update yöntemleri kullanılarak eklenir. Satır eklemeleri tamamlandığında, ADO bağlantısı kapalıdır ve çalışma kitabı Excel 'de görüntülenir. Çalışma kitabı, çalışma kitabının Aç olayında Visual Basic for APPLICATIONS (VBA) makro kodu içerir. Çalışma kitabı açıldığında makro çalışır; çalışma kitabında yeni "Ürünler" çalışma sayfası varsa, makro kodu çalışma sayfasını biçimlendirir ve makro kodu silinir. Bu teknik, Web geliştiricisinin biçimlendirme kodunu Web sunucusundan ve istemciye taşımak için bir yol sunar. Bir Web uygulaması, istemciye veri içeren biçimlendirilmiş bir çalışma kitabını akışa alabilir ve bir şablonda yalnızca istemcide çalışması mümkün olmayan "koşullu" biçimlendirmenin gerçekleştirilmesini sağlayacak makro koduna izin verebilir.Not: makro kodunu Incelemek için ProductsTemplate. xls Için VBAProject ThisWorkbook modülünü görüntüleyin.

  7. Örnek 4' ü tıklatın. Bu örnek, örnek 1 ile aynı sonucu verir, ancak verileri aktarmak için kullanılan teknik biraz farklıdır. Örnek 1 ' de, kayıtlar (veya satırlar) çalışma sayfasına teker teker eklenir. Örnek 4 Excel tablosunu bir Access veritabanına ekleyerek ve ekleme sorgusu çalıştırarak kayıtları toplu olarak ekler. Bir Access tablosundaki bir tablodan Excel tablosuna kayıt eklemek için KIMDEN 'ı SEÇIN. Aktarım tamamlandığında, Excel tablosu Access veritabanından ayrılır ve sonuçlar Excel 'de görüntülenir. Excel 'den çıkın ve Visual Basic uygulamasına dönün.

  8. Son örnek, Excel çalışma kitabından verileri nasıl okuyacağınızı gösterir. Açılan listeden bir tablo seçip örnek 5' i tıklatın. Hemen penceresi, seçtiğiniz tablonun içeriğini görüntüler. Tablonun tamamını seçerseniz ("Sayfa1 $" veya "Sheet2 $"), hemen penceresi söz konusu çalışma sayfasının kullanılan aralığının içeriğini görüntüler. Kullanılan aralığın, çalışma sayfasının 1, sütun 1 ' de başlamamasını unutmayın. Kullanılan Aralık, çalışma sayfasında veri içeren en üst, en üst hücreden başlar. Belirli bir Aralık adresi veya tanımlı bir Aralık seçerseniz, hemen penceresi çalışma sayfasında yalnızca bu aralığın içeriğini görüntüler.

Active Server Pages (ASP) kullanmak için:

  1. Web sunucunuzun giriş dizininde ExcelADO adlı yeni bir klasör oluşturun. Giriş dizininin varsayılan yolunun C:\ınetınput\wwwrootolduğunu unutmayın.

  2. Aşağıdaki dosyaları, önceki adımda oluşturduğunuz klasöre kopyalayın:

    • EmpData.asp

    • Orders.asp

    • Data.mdb

    • EmpDataTemplate.xls

    • OrdersTemplate.xls

  3. Bu örnekteki ASP komut dosyaları, çalışma kitabı şablonlarının kopyasını Filesystemmobject'in Copy yöntemiyle oluşturur. Kopyalama yönteminin başarılı olması için, komut dosyasına ERIŞEN istemcinin ASP 'yi Içeren klasöre yazma erişiminin olması gerekir.

  4. Orders. asp (http://YourServer/ExcelADO/Orders.ASP) konumuna gidin ve tarayıcının Visual Basic uygulamasının Örnek 1 ' deki bir Excel çalışma kitabını görüntülediğini unutmayın.

  5. EmpData. asp (yani, http://YourServer/ExcelADO/EmpData.ASP) konumuna gidin ve tarayıcının Visual Basic uygulamasının örnek 2 ' deki bir Excel çalışma kitabını görüntülediğini unutmayın.

(c) Microsoft Corporation 2000, tüm hakları saklıdır. Lori B. Turner, Microsoft Corporation ile katkılarla katkı.

Başvurular

Ek bilgi için, Microsoft Bilgi Bankası 'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarına tıklayın:

195951 Nasıl yapılır: ASP 'Den ADO kullanarak Excel verilerini sorgulama ve güncelleştirme

194124 SORUN: DAO OpenRecordset kullanarak NULL olarak döndürülen Excel değerleri

193998 Nasıl yapılır: ASP 'de Ikili verileri okuma ve görüntüleme

247412 BILGI: Visual Basic 'ten Excel 'e veri aktarma yöntemleri

257819 Nasıl yapılır: Visual Basic veya VBA 'dan Excel verileriyle ADO kullanma

Daha fazla yardıma mı ihtiyacınız var?

Yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Microsoft Insider 'a katılın

Bu bilgi yardımcı oldu mu?

Geri bildiriminiz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×