Meerdere rijen naar Excel schrijven met Vb.Net

Wanneer u Visual Basic.Net-toepassingen bouwt, kunt u naast het afdrukken van rapporten ook een functie exporteren naar Excel toevoegen. De toegevoegde functionaliteit kost weinig code en uw klanten kunnen de gegevens op elke gewenste manier sorteren en analyseren. Gebruik de formulierontwerper in Visual Basic om deze functie toe te voegen.

1.

Open Visual Studio en maak een nieuw Visual Basic-project. Klik op 'Bestand' en vervolgens op 'Nieuw project'. Wanneer het nieuwe projectvenster verschijnt, kiest u 'Visual Basic / Windows' in de structuurweergave, klikt u op het pictogram 'Windows Forms-toepassing', geeft u een naam aan het project 'ExcelTest' en klikt u vervolgens op 'OK'. "Na een korte wachttijd verschijnt de formulierontwerper.

2.

Voeg een verwijzing toe naar de Excel ActiveX-component. Klik op 'Project' in de vervolgkeuzemenu's en klik vervolgens op 'Referentie toevoegen'. Klik op het tabblad 'COM' en scrol omlaag naar 'Microsoft Excel'. Er kan meer dan één exemplaar van Excel worden vermeld, dus kies een recente versie die is direct beschikbaar op de computers van klanten.

3.

Voeg een knop toe aan het formulier. Klik op het pictogram Toolbox om de toolbox te openen en sleep vervolgens een knop naar het formulier. Klik met de rechtermuisknop op de knop en kies 'Eigenschappen'. Wanneer de eigenschappenlijst wordt weergegeven, geeft u de knop 'btnToExcel' een naam en wijzigt u de eigenschap Text in 'To Excel'. Klik nu op de nieuwe knop om het codevenster te openen.

4.

Voeg de bibliotheekimport als volgt toe aan de bovenkant van de programmacode:

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

5.

Declareer privé-velden voor de Excel-objecten:

Privé excelApp = Nieuw Excel.Applicatie Privé excelDoc Als Excel.Workbook Privé excelSheet Als Excel.Worksheet Privébereik Als Excel.Range

6.

Maak de inhoud die naar de spreadsheet gaat, bijvoorbeeld:

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) 

De inhoud die in dit voorbeeld naar de spreadsheet wordt verzonden, gebruikt een vermenigvuldigingstabel van 10 bij 20. Alle gegevens worden toegevoegd aan een StringBuilder met kolommen gescheiden door tab-tekens (vbTab) en elke rij gescheiden door een einde van een lijnteken (met behulp van de AppendLine-methode). Nadat alle inhoud naar de StringBuilder is gekopieerd, wordt deze in het Klembord geplaatst. Zodra het werkblad open is, plakt de code deze gegevens in het werkblad.

7.

Open de spreadsheet:

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

Hier maakt het programma een nieuw Excel-toepassingsobject met de CreateObject-methode en stelt vervolgens de eigenschap Zichtbaar in True in om Excel te laten zien dat het zichzelf op het scherm toont. Vervolgens wordt een nieuw werkblad gemaakt en krijgt het een handvat voor de actieve pagina.

8.

Plak de gegevens in de eerste cel van de spreadsheet:

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

Eindklasse

Haal het bereik van de eerste cel en plak de inhoud van het klembord in de cel. De tabbladen en regelfeeds scheiden de kolommen en rijen.

9.

Start het programma. Klik op "F5" om het programma te starten en klik vervolgens op de knop "Naar Excel" om het werkblad te openen en te bekijken.

Dingen nodig

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

Tip

  • Deze zelfde techniek werkt voor gegevens uit SQL-query's, tekstbestanden of andere gegevens die op een rapport of ListView kunnen worden gepresenteerd. Voor een betere presentatie voegt u de naam van een Excel-sjabloon toe aan de werkmap. Open de methode en de gegevens worden overlay op een vooraf opgemaakte sjabloon.

Populaire Berichten