Aracılığıyla paylaş


İzlenecek Yol: Bir sunucu üzerindeki bir çalışma kitabına veri ekleme

Bu izlenecek yolda, bir Microsoft Office Excel çalışma kitabını Excel kullanarak başlatmadan önbelleğe alınan bir dataset veri eklemeye gösterilmiştir ServerDocument sınıfa İzlenecek yol, Nasıl Yapılır: Sunucudaki bir Çalışma Kitabına Veri Girme da bulunan örnek kodu kullanmak için adım adım yönerge sağlar.

Uygulama alanı: Bu konudaki bilgiler Excel 2007 ve Excel 2010 uygulamalarının belge düzeyi projelerine yöneliktir. Daha fazla bilgi için bkz. Office Uygulamalarında Kullanılabilir Özellikler ve Proje Türü.

Bu örneklerde aşağıdaki görevler gösterilir:

  • AdventureWorksLT veritabanında veri içeren veri kümesi tanımlama.

  • Excel çalışma kitabı ve konsol uygulaması projesindeki veri kümesinin örneklerini oluşturma.

  • Oluşturma bir ListObject , bağlı olduğu dataset içinde çalışma kitabı.

  • Çalışma kitabındaki veri kümesini veri önbelleğine ekleme.

  • Verileri Excel başlatmadan kod konsol uygulamasında çalıştırarak önbelleğe alınmış DataSet'e ekleme.

Bu örnek, kodu onu geliştirdiğiniz bilgisayarda çalıştırdığınızı kabul eder. Bu örnekte gösterilen kod Excel yüklü olmayan bir sunucuda kullanılabilir.

Not

Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Bu öğeleri bilgisayarınızdaki Visual Studio sürümü ve kullandığınız ayarlar belirler. Daha fazla bilgi için bkz. Ayarlar ile çalışma.

Önkoşullar

Bu örneği tamamlamak için aşağıdaki bileşenler gerekmektedir:

-

Microsoft Office geliştirici araçlarını içeren bir Visual Studio 2010 sürümü. Daha fazla bilgi için bkz: [Office Çözümeri Geliştirmek İçin Bilgisayarı Yapılandırma](bb398242\(v=vs.100\).md).

Veri Kümesi Tanımlayan Sınıf Kitaplığı Projesi Oluşturma

Excel çalışma kitabı projesi ve konsol uygulamasındaki aynı veri kümesini kullanmak için bu veri kümesini her iki proje tarafından da başvurulan ayrı bir derleyicide tanımlamanız gerekir. Bu örnek için veri kümesini sınıf kitaplığı projesinde tanımlayın.

Sınıf kitaplığı projesi oluşturmak için

  1. Visual Studio uygulamasını başlatın.

  2. File (Dosya) menüsünde, New'un (Yeni) üzerine gelin ve Project'i (Proje) tıklatın.

  3. Şablon bölmesinde Visual C# veya Visual Basic'i genişletin ve sonra Windows'a tıklayın.

  4. Proje şablonu listesinde sınıf kitaplığını seçin.

  5. Ad kutusuna AdventureWorksDataSet yazın.

  6. Browse'u tıklayın, %UserProfile%\My Documents (Windows XP ve öncesi için) veya %UserProfile%\Documents (Windows Vista için) klasörüne gidin ve Klasör Seç'i tıklayın.

  7. Yeni Proje iletişim kutusunda Çözüm için dizin oluşturun onay kutusunun seçili olmadığından emin olun.

  8. Tamam düğmesini tıklatın.

    Visual Studio AdventureWorksDataSet projesini Çözüm Gezgini'ne ekler ve Sınıf1.cs veya Sınıf1.vb kod dosyasını açar.

  9. Çözüm Gezgini'nde Sınıf1.cs veya Sınıf1.vb'ye sağ tıklayın ve sonra Sil'i tıklayın. Bu örnek için bu dosya gerekmez.

Sınıf Kitaplığı Projesinde Veri Kümesi Tanımlama

SQL Server 2005 için AdventureWorksLT veritabanından veri içeren yazılmış veri kümesi tanımlayın. Bu örnekte daha sonra Excel çalışma kitabı ve konsol uygulama projelerinden bu veri kümesine başvuracaksınız.

Bu veri kümesi AdventureWorksLT veritabanının Product tablosundaki veriyi gösteren bir yazılmış veri kümesidir. Yazılmış veri kümeleri hakkında daha fazla bilgi için, bkz: Visual Studio veri ile çalışma.

Sınıf Kitaplığı Projesinde Veri Kümesi Tanımlama

  1. Çözüm Gezgini'nde AdventureWorksDataSet'i tıklayın.

  2. Data menüsünden Yeni Veri Kaynağı Ekle'yi tıklayın.

    Veri Kaynağı Yapılandırma Sihirbaz'ı açılır.

  3. Veritabanı'nı sonra da İleri'yi tıklayın.

  4. Eğer AdventureWorksLT veritabanına önceden varolan bir bağlantınız varsa bu bağlantıyı seçin ve İleri'yi tıklayın.

    Aksi takdirde, New Connetion'ı tıklayın ve yeni bir bağlantı oluşturmak için Add Connection iletişim kutusunu kullanın. Daha fazla bilgi için bkz. İzlenecek Yol: Bir sunucu üzerindeki bir çalışma kitabına veri ekleme.

  5. Save the Connection String to the Application Configuration File sayfasında Next'i tıklayın.

  6. Veritabanı Nesnenizi Seçin sayfasında Tables'ı genişletin ve Product (SalesLT) tablosunu seçin.

  7. Son düğmesini tıklatın.

    The AdventureWorksLTDataSet.xsd dosyası AdventureWorksDataSet projesine eklenir. Dosya aşağıdaki öğeleri tanımlar:

    • AdventureWorksLTDataSet olarak adlandırılan yazılmış veri kümesi. Bu veri kümesi AdventureWorksLT veritabanının Product tablosunun içeriğini gösterir.

    • ProductTableAdapter olarak adlandırılan TableAdapter. Bu TableAdapter AdventureWorksLTDataSet'ten veri okumak veya yazmak için kullanılabilir. Daha fazla bilgi için bkz. TableAdapter genel bakış.

    Bu iki nesneyi daha sonra bu örnekte kullanacaksınız.

  8. Çözüm Gezgini'nde AdventureWorksDataSet'e sağ tıklayın ve Yapı'yı tıklayın.

    Projenin hatasız oluşturulduğunu doğrulayın.

Excel Çalışma Kitabı Projesi Oluşturma

Veri arabirimi için excel çalışma kitabı projesi oluşturma. Bu örnekte daha sonra veriyi gösteren ListObject oluşturacaksınız ve çalışma kitabı veri önbelleğine bu veri kümesinin bir örneğini ekleyeceksiniz.

Excel Çalışma Kitabı Projesi Oluşturmak İçin

  1. Çözüm Gezgini'nde AdventureWorksDataSet çözümünü sağ tıklayın, Add'i işaret edin ve sonra Yeni Proje'yi tıklayın.

  2. Şablon bölmesinde Visual C# veya Visual Basic'i genişletin ve sonra Office'i genişletin.

  3. Genişletilmiş Office düğümünün altında 2007 veya 2010 düğümünü seçin.

  4. Proje şablonu listesinde Excel çalışma kitabı projesini seçin.

  5. Ad kutusuna AdventureWorksReport yazın. Konumu değiştirmeyin.

  6. Tamam düğmesini tıklatın.

    Office için Visual Studio Araçları Sihirbaz'ı açılır.

  7. Yeni belge oluştur'u seçtiğinizden emin olun ve Tamam'ı tıklayın.

    Visual Studio AdventureWorksDataSet tasarımcıdaki çalışma kitabını açar ve Çözüm Gezgini'ne AdventureWorksReport projesini ekler.

Excel Çalışma Kitabı Projesindeki Veri Kümesini Veri Kaynağına Ekleme

Excel çalışma kitabındaki veri kümesini görüntülemeden önce Excel çalışma kitabı projesindeki veri kümesini veri kaynağına eklemelisiniz.

Excel Çalışma Kitabı Projesindeki Veri Kümesini Veri Kaynağına Eklemek İçin

  1. Çözüm Gezgini'ndenAdventureWorksReport projesi altındaki Sayfa1.cs veya Sayfa1.vb'i çift tıklayın.

    Çalışma kitabı tasarımcıda açılır.

  2. Data menüsünden Yeni Veri Kaynağı Ekle 'yi tıklayın.

    Veri Kaynağı Yapılandırma Sihirbaz'ı açılır.

  3. Nesne’yi ve ardından İleri’yi tıklatın.

  4. Bağlamak İstediğiniz Nesneyi Seçin sayfasında Add Reference'ı tıklayın.

  5. Projects sekmesinde AdventureWorksDataSet'i ve sonra da Tamam'ı tıklayın.

  6. AdventureWorksDataSet derleyicisinin AdventureWorksDataSet isim uzayının altındaki AdventureWorksLTDataSet'i ve sonra Son'u tıklayın.

    Veri Kaynağı penceresi açılır ve AdventureWorksLTDataSet veri kaynağı listelerine eklenir.

Veri Kümesi Örneğine Bağlanan ListObject Oluşturma

Çalışma kitabındaki veri kümesini görüntülemek için veri kümesinin örneğine bağlanmış bir ListObject oluşturun. Kontrollere veri bağlama hakkında daha fazla bilgi için, bkz. Office Çözümlerinde Veriyi Denetime Bağlama

Veri kümesi örneğine bağlanmış ListObject oluşturmak için

  1. Veri Kaynağı penceresinde AdventureWorksDataSet altındaki AdventureWorksLTDataSet düğümünü genişletin.

  2. Product düğümünü seçin, ortaya çıkan açılır oku tıklayın ve açılır listedeki ListObject'i seçin.

    Eğer açılır ok ortaya çıkmazsa çalışma kitabının tasarımcıda açık olduğundan emin olun.

  3. Product tablosunu A1 hücresine sürükleyin.

    Çalışma sayfasında A1 hücresinden başlayarak productListObject isimli ListObject denetimi oluşturulur. Aynı anda, adventureWorksLTDataSet isimli veri kümesi nesnesi ve productBindingSource isimli BindingSource projeye eklenir. ListObject, karşılığında veri kümesi nesnesine bağlanan BindingSource'a bağlanır.

Veri Kümesini Veri Önbelleğine Ekleme

Excel çalışma kitabı projesindeki kodun çalışma kitabındaki veri kümesine erişimini sağlamak için veri kümesini veri önbelleğine eklemelisiniz. Veri önbelleği hakkında daha fazla bilgi için, bkz. Belge Düzeyi Özelleştirmelerinde Önbellekteki Veri ve Veriyi Önbelleğe Alma.

Veri kümesini veri önbelleğine eklemek için

  1. Tasarımcıda adventureWorksLTDataSet'i tıklayın.

  2. Özellikler penceresinde Modifiers özelliğini Public olarak ayarlayın.

  3. CacheInDocument özelliğini True olarak ayarlayın.

Kontrol Noktası

Hatasız derlendiğinden ve çalıştığından emin olmak için Excel çalışma kitabı projesini oluşturun ve çalıştırın.

Projeyi oluşturup çalıştırmak için

  1. Çözüm Gezgini'nden AdventureWorksReport projsine sağ tıklayın, Debug'ı seçin ve sonra Yeni Örnek Başlat'ı tıklayın.

    Proje oluşturulur ve çalışma kitabı Excel'de açılır. ListObject Sayfa1'de boştur çünkü adventureWorksLTDataSet veri önbelleği nesnesinde veri henüz vardır. Sonraki bölümde, bir konsol uygulaması doldurmak için kullanacağınız adventureWorksLTDataSet nesnesi ile veri.

  2. Excel'i kapatın. Değişiklikleri kaydetmeyin.

Konsol Uygulama Projesi Oluşturma

Önbelleğe alınmış DataSet çalışma kitabındaki verileri eklemek için kullanılacak bir konsol uygulaması projesi oluşturun.

Konsol uygulama projesi oluşturmak için

  1. Çözüm Gezgini'nde AdventureWorksDataSet çözümünü sağ tıklayın, Add'i işaret edin ve sonra Yeni Proje'yi tıklayın.

  2. Project Types bölmesinde Visual C# veya Visual Basic'yi genişletin ve sonra Windows'u tıklayın.

  3. Şablonlar bölmesinde Konsol Uygulaması'nı seçin.

  4. Ad kutusuna DataWriter yazın. Konumu değiştirmeyin.

  5. Tamam düğmesini tıklatın.

    Visual Studioekler DataWriter için proje Solution Explorer ve Program.cs veya Module1.vb kod dosyası.

Konsol uygulaması kullanarak önbelleğe alınmış Dataset nesnesine veri ekleme

Use ServerDocument sınıfında önbelleğe alınmış dataset verilerini içeren çalışma kitabı içinde doldurmak için konsol uygulaması

Önbelleğe alınan dataset nesnesine veri eklemek için

  1. Çözüm Gezgini'nde, DataWriter projesini sağ tıklatın ve Başvuru Ekle 'ı tıklatın.

  2. .NET sekmesinde Microsoft.VisualStudio.Tools.Applications.ServerDocument'ı (eğer DataWriter projesi .NET Framework 4'u hedefliyorsa) veya Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0'u (eğer DataWriter projesi .NET Framework 3.5'u hedefliyorsa) seçin.

  3. Tamam düğmesini tıklatın.

  4. Çözüm Gezgini'nde, DataWriter projesini sağ tıklatın ve Başvuru Ekle 'yi tıklatın.

  5. Projeler sekmesinde AdventureWorksDataSet'i seçin ve Tamam'ı tıklatın.

  6. Kod Düzenleyicisinde Program.cs veya Module1.vb dosyasını Açın

  7. Kod dosyasının başına using (C# için) veya ,Imports (Visual Basic için) deyimini ekleyin.

    Imports Microsoft.VisualStudio.Tools.Applications
    
    using Microsoft.VisualStudio.Tools.Applications;
    
  8. Aşağıdaki kodu Main yöntemine ekleyin. Bu kod aşağıdaki objeleri bildirir:

    • Örnekleri AdventureWorksLTDataSet ve ProductTableAdapter tanımlanan türleri AdventureWorksDataSet proje.

    • AdventureWorksReport projesinin yapı klasöründeki AdventureWorksReport çalışma kitabı yolu.

    • Çalışma kitabı veri kümesi önbelleğine erişim için kullanılan ServerDocument nesnesi.

      Not

      Aşağıdaki kod .xlsx uzantılı çalışma kitabı kullandığınızı varsayar. Eğer projenizdeki çalışma kitabının farklı bir uzantısı varsa, yolu gereken şekilde değiştirin.

    Dim productDataSet As New AdventureWorksDataSet.AdventureWorksLTDataSet()
    Dim productTableAdapter As _
        New AdventureWorksDataSet.AdventureWorksLTDataSetTableAdapters.ProductTableAdapter()
    
    Dim workbookPath As String = System.Environment.GetFolderPath( _
        Environment.SpecialFolder.MyDocuments) & _
        "\AdventureWorksReport\bin\Debug\AdventureWorksReport.xlsx"
    Dim serverDocument1 As ServerDocument = Nothing
    
    AdventureWorksDataSet.AdventureWorksLTDataSet productDataSet = 
        new AdventureWorksDataSet.AdventureWorksLTDataSet();
    AdventureWorksDataSet.AdventureWorksLTDataSetTableAdapters.ProductTableAdapter productTableAdapter =
        new AdventureWorksDataSet.AdventureWorksLTDataSetTableAdapters.ProductTableAdapter();
    
    string workbookPath = System.Environment.GetFolderPath(
        Environment.SpecialFolder.MyDocuments) +
        @"\AdventureWorksReport\bin\Debug\AdventureWorksReport.xlsx";
    ServerDocument serverDocument1 = null;
    
  9. Bir önceki basamaktaki kodu ekledikten sonra, aşağıdaki kodu Main yöntemine ekleyin. Bu kod aşağıdaki görevleri gerçekleştirir:

    • Tablo bağdaştırıcısı kullanarak bir typed dataset nesnesini doldurur.

    • Çalışma kitabındaki veri kümesi önbelleğine erişim için ServerDocument sınıfının CachedData özelliğini kullanır.

    • Kullandığı SerializeDataInstance yöntemi verilerle önbelleğe kaydedilmiş olan DataSet'i doldurmak içinyerel typed dataset.

    Try
        productTableAdapter.Fill(productDataSet.Product)
        Console.WriteLine("The local dataset is filled.")
    
        serverDocument1 = New ServerDocument(workbookPath)
        Dim dataHostItem1 As CachedDataHostItem = _
            serverDocument1.CachedData.HostItems("AdventureWorksReport.Sheet1")
        Dim dataItem1 As CachedDataItem = dataHostItem1.CachedData("AdventureWorksLTDataSet")
    
        ' Initialize the worksheet dataset with the local dataset.
        If dataItem1 IsNot Nothing Then
            dataItem1.SerializeDataInstance(productDataSet)
            serverDocument1.Save()
            Console.WriteLine("The data is saved to the data cache.")
        Else
            Console.WriteLine("The data object is not found in the data cache.")
        End If
    Catch ex As System.Data.SqlClient.SqlException
        Console.WriteLine(ex.Message)
    Catch ex As System.IO.FileNotFoundException
        Console.WriteLine("The specified workbook does not exist.")
    Finally
        If Not (serverDocument1 Is Nothing) Then
            serverDocument1.Close()
        End If
        Console.WriteLine(vbLf & vbLf & "Press Enter to close the application.")
        Console.ReadLine()
    End Try
    
    try
    {
        productTableAdapter.Fill(productDataSet.Product);
        Console.WriteLine("The local dataset is filled.");
    
        serverDocument1 = new ServerDocument(workbookPath);
        CachedDataHostItem dataHostItem1 =
            serverDocument1.CachedData.HostItems["AdventureWorksReport.Sheet1"];
        CachedDataItem dataItem1 = dataHostItem1.CachedData["adventureWorksLTDataSet"];
    
        // Initialize the worksheet dataset with the local dataset.
        if (dataItem1 != null)
        {
            dataItem1.SerializeDataInstance(productDataSet);
            serverDocument1.Save();
            Console.WriteLine("The data is saved to the data cache.");
            Console.ReadLine();
        }
        else
        {
            Console.WriteLine("The data object is not found in the data cache.");
        }
    }
    catch (System.Data.SqlClient.SqlException ex)
    {
        Console.WriteLine(ex.Message);
    }
    catch (System.IO.FileNotFoundException)
    {
        Console.WriteLine("The specified workbook does not exist.");
    }
    finally
    {
        if (serverDocument1 != null)
        {
            serverDocument1.Close();
        }
    
        Console.WriteLine("\n\nPress Enter to close the application.");
        Console.ReadLine();
    }
    
  10. Çözüm Gezgini'nde DataWriter projsine sağ tıklatın, Hata Ayıkla'yı işaret edin ve sonra Yeni Örnek Başlat'ı tıklatın.

    Proje yerleşik olarak bulunur ve yerel dataset dolduğunda ve uygulama önbelleğe alınmış DataSet çalışma kitabındaki veriyi kaydederken konsol uygulama birkaç durum iletileri görüntüler. Uygulamayı kapatmak için ENTER tuşuna basın.

Çalışma Kitabını Test Etme

Çalışma kitabını açtığınızda ListObject veri önbelleğe alınmış bir dataset kullanarak eklenmiştir görüntülenirkonsol uygulaması.

Çalışma kitabını test etmek için

  1. Eğer hala açıksa, Visual Studio tasarımcısındaki AdventureWorksReport çalışma kitabını kapatın.

  2. Windows Gezgini'nde yapý klasöründe bulunan AdventureWorksReport kitabını AdventureWorksReport proje. Varsayılan olarak, yapı klasörü aşağıdaki konumlardan birindedir:

    • %UserProfile%\My Documents\AdventureWorksReport\bin\Debug (Windows XP ve öncesi için)

    • %UserProfile%\My Documents\AdventureWorksReport\bin\Debug (Windows Vista için)

  3. Doğrulamak ListObject doldurulan veri sonra açtığınız çalışma kitabı.

Sonraki Adımlar

Önbellekteki verilerle çalışma hakkında daha fazla bilgiyi aşağıdaki konulardan öğrenebilirsiniz:

Ayrıca bkz.

Görevler

Nasıl Yapılır: Sunucudaki bir Çalışma Kitabına Veri Girme

İzlenecek Yol: Sunucu Üzerindeki Çalışma Kitabında Bulunan Önbellekteki Veriyi Değiştirme

Nasıl Yapılır: Verileri Diske Yazmadan Belgelere Ekleme

Kavramlar

Windows Forms uygulamaları, veri Bağlanıyor