Como gravar várias linhas para o Excel usando o Vb.net

Ao criar aplicativos Visual Basic.Net, considere adicionar um recurso de exportação para o Excel, além de relatórios impressos. A funcionalidade adicional exige pouco código e seus clientes podem classificar e analisar os dados da maneira que escolherem. Use o designer de formulários no Visual Basic para adicionar essa função.

1

Abra o Visual Studio e crie um novo projeto do Visual Basic. Clique em "Arquivo" e depois em "Novo Projeto". Quando a caixa de diálogo do novo projeto aparecer, escolha "Visual Basic / Windows" na visualização em árvore, clique no ícone "Windows Forms Application", nomeie o projeto "ExcelTest" e clique em "OK. Depois de uma breve espera, o designer de formulários aparecerá.

2

Adicione uma referência ao componente ActiveX do Excel. Clique em "Projeto" nos menus suspensos, clique em "Adicionar Referência". Clique na guia "COM" e role para baixo até "Microsoft Excel". Pode haver mais de uma instância do Excel listada, então escolha uma versão recente que está prontamente disponível nos computadores dos clientes.

3

Adicione um botão ao formulário. Clique no ícone da caixa de ferramentas para abrir a caixa de ferramentas e arraste um botão para o formulário. Clique com o botão direito do mouse no botão e escolha "Propriedades". Quando a lista de propriedades aparecer, nomeie o botão "btnToExcel" e altere a propriedade Text para "Para Excel". Agora clique no novo botão para abrir a janela de código.

4

Adicione as importações da biblioteca ao topo do código do programa da seguinte forma:

Imports Microsoft.Office.Interop Imports System.Text Public Class Form1

5

Declare campos privados para os objetos do Excel:

Private excelApp = Novo Excel.Application Private excelDoc Como Excel.Workbook Private excelSheet Como Excel.Worksheet Private range As Excel.Range

6

Crie o conteúdo que irá para a planilha, por exemplo:

Private Sub btnToExcel_Click(sender As System.Object, e As System.EventArgs) Handles btnToExcel.Click Dim txt As New StringBuilder Dim i, j As Integer For i = 1 To 20 For j = 1 To 10 txt.Append(i * j) txt.Append(vbTab) Next txt.AppendLine() Next Clipboard.SetText(txt.ToString) 

O conteúdo enviado para a planilha neste exemplo usa uma tabela de multiplicação de 10 por 20. Todos os dados são anexados a um StringBuilder com colunas separadas por caracteres de tabulação (vbTab) e cada linha separada por um caractere de fim de linha (usando o método AppendLine). Depois que todo o conteúdo é copiado para o StringBuilder, ele é colocado na área de transferência. Quando a planilha estiver aberta, o código colará esses dados na planilha.

7

Abra a planilha:

excelApp = CreateObject ("Excel.Application") excelApp.Visible = True excelDoc = excelApp.Workbooks.Add () excelSheet = excelDoc.ActiveSheet

Aqui, o programa cria um novo objeto de aplicativo do Excel usando o método CreateObject e, em seguida, define sua propriedade Visible como True para que o Excel seja exibido na tela. Em seguida, cria uma nova WorkSheet e obtém uma alça para a página ativa.

8

Cole os dados na primeira célula da planilha:

  range = excelSheet.Cells(1, 1) excelSheet.Paste(range) End Sub 

Classe final

Obtenha o intervalo da primeira célula e cole o conteúdo da área de transferência na célula. As guias e os feeds de linha separam as colunas e linhas.

9

Execute o programa. Clique em "F5" para iniciar o programa e, em seguida, clique no botão "Para o Excel" para abrir e visualizar a planilha.

Coisas necessárias

  • Microsoft Visual Studio ou Visual Basic Express 2010
  • Microsoft Office Excel 2010, 2007 ou XP

Gorjeta

  • Essa mesma técnica funciona para dados de consultas SQL, arquivos de texto ou qualquer outro dado que possa ser apresentado em um relatório ou ListView. Para uma melhor apresentação, inclua o nome de um modelo do Excel no método Workbook.Open e os dados serão sobrepostos em um modelo pré-formatado.

Publicações Populares