Nasıl Yapılır: Sunucudaki bir Çalışma Kitabına Veri Girme
Excel'i çalıştırmadan, belge düzeyi Office projesinin bir parçası olan Microsoft Office Excel çalışma kitabının önbelleğine veri ekleyebilirsiniz. Bu, sunucuda depolanan Excel çalışma kitaplarına verinin eklenbilmesine olanak tanır.
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ü.
Veriyi ekleyecek kod, çalıştığınız belgeyle (örn. bir Konsol veya Windows Forms uygulamasıyla) ilişkilendirilen proje derlemesinin dışında olmalıdır.
Bu konu hakkındaki kod örneğini kullanmak amacıyla adım adım yönergeler için bkz. İzlenecek Yol: Bir sunucu üzerindeki bir çalışma kitabına veri ekleme.
Örnek
Aşağıdaki kod örneğinde, ilk başta AdventureWorksLTDataSet isimli türü belirtilmiş veri kümesinin bir örneği oluşturulur ve ardından veri kümesindeki Product tablosu bir tablo bağdaştırıcısı kullanılarak doldurulur. Sonra kodda, Excel çalışma kitabında önbelleğe alınmış, türü belirlenmiş aynı veri kümesinin örneğine erişmek için ServerDocument sınıfı kullanılır ve ardından SerializeDataInstance yöntemi kullanılarak yerel veri kümesindeki veri, önbelleğe alınmış veri kümesine yazılır.
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
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
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;
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();
}
Kodu Derleme
Bu konudaki kod örneği, aşağıdaki uygulamalarla kullanılmak üzere tasarlanmıştır.
Türü belirlenmiş veri kümesini tanımlayan sınıf kitaplığı projesine erişimi olan konsol uygulaması. Kod, konsol uygulamasında çalışır.
Excel belge düzeyi özelleştirmesinin bir parçası olan Excel çalışma kitabı. Çalışma kitabı, aynı veriyi içeren, AdventureWorksLTDataSet isimli önbelleğe alınmış bir veri kümesine sahiptir.
Kodu kullanmak üzere adım adım yönergeler için bkz. İzlenecek Yol: Bir sunucu üzerindeki bir çalışma kitabına veri ekleme.
Ayrıca bkz.
Görevler
İzlenecek Yol: Bir sunucu üzerindeki bir çalışma kitabına veri ekleme
Nasıl Yapılır: Verileri Diske Yazmadan Belgelere Ekleme
Nasıl Yapılır: Sunucudaki Çalışma Kitabından Önbelleğe Alınmış Verileri Alma
Nasıl Yapılır: Sunucu Üzerindeki Çalışma Kitabında Önbellekteki Veriyi Değiştirme