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.