Como: Inserir dados em uma pasta de trabalho em um servidor
Se aplica a |
---|
As informações contidas neste tópico se aplicam apenas às especificado Ferramentas do Visual Studio para o Office projetos e as versões do Microsoft Office. Tipo de Projeto
Versão do Microsoft Office
For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto. |
Você pode inserir dados no cache de uma pasta de trabalho do Microsoft Office Excel que faz parte de um projeto de nível de documento Ferramentas do Visual Studio para o Office sem Executando o Excel.Isso torna possível inserir dados em pastas de trabalho de Excel que são armazenadas em um servidor.
O código para inserir os dados deve ser fora do assembly principal Ferramentas do Visual Studio para o Office projeto associado ao documento em que você está trabalhando com o, por exemplo em um console ou Aplicativo Windows Forms.
Para obter instruções passo a passo para usar o exemplo de código neste tópico, consulte Demonstra Passo a passo: Inserindo dados em uma pasta de trabalho em um servidor.
Exemplo
O exemplo de código a seguir primeiro cria uma instância de um dataset tipado chamado AdventureWorksLTDataSet e, em seguida, preenche a tabela de Product no dataset usando um adaptador de tabela.Avançar, o código usa a classe ServerDocument para acessar uma instância do mesmo dataset digitado que é armazenada em cache em uma pasta de trabalho do Excel e grava os dados do dataset local para o dataset em cache usando o método SerializeDataInstance.
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();
}
Compilando o código
O exemplo de código neste tópico é projetado para ser usado em um Aplicativo do Console que tenha Acessar a um projeto de biblioteca de classes que definem um dataset tipado e uma pasta de trabalho do Excel que faz parte de uma personalização de nível de documento para o Excel 2003 ou o Excel 2007.Para obter instruções passo a passo para usar o código, consulte Demonstra Passo a passo: Inserindo dados em uma pasta de trabalho em um servidor.
Consulte também
Tarefas
Demonstra Passo a passo: Inserindo dados em uma pasta de trabalho em um servidor
Como: Inserir dados em documentos sem gravação em disco
Como: Recuperar dados de uma pasta de trabalho em um servidor armazenados em cache
Como: Alterar de dados em uma pasta de trabalho em um servidor em cache