Hur man skriver flera rader till Excel med Vb.Net
När du bygger Visual Basic.Net-applikationer, överväga att lägga till en export till Excel-funktion utöver de tryckta rapporterna. Den extra funktionen tar lite kod och dina kunder kan sortera och analysera data på något sätt de väljer. Använd formulärdesignern i Visual Basic för att lägga till den här funktionen.
1.
Öppna Visual Studio och skapa ett nytt Visual Basic-projekt. Klicka på "File" och "New Project." När den nya projektdialogrutan visas väljer du "Visual Basic / Windows" från trädvyn, klicka på ikonen "Windows Forms Application", namnet projektet "ExcelTest" och klicka sedan på "OK". "Efter en kort väntan kommer formulärdesignern att visas.
2.
Lägg till en referens till Excel ActiveX-komponenten. Klicka på "Projekt" i rullgardinsmenyerna och klicka sedan på "Lägg till referens." Klicka på "COM" -fliken och rulla ner till "Microsoft Excel." Det kan finnas mer än en förekomst av Excel, så välj en ny version som är lätt tillgänglig på kundernas datorer.
3.
Lägg till en knapp i formuläret. Klicka på ikonen Verktygslåda för att öppna verktygslådan och dra sedan en knapp till formuläret. Högerklicka på knappen och välj Egenskaper. När egenskapslistan visas, namnge knappen "btnToExcel" och ändra Textegenskapen till "Till Excel". Klicka nu på den nya knappen för att öppna kodfönstret.
4.
Lägg till bibliotekets import till toppen av programkoden enligt följande:
Importerar Microsoft.Office.Interop Imports System.Text Public Class Form1
5.
Förklara privata fält för Excel-objekten:
Privat excelApp = Ny Excel.Application Privat excelDoc Som Excel.Workbook Privat excelSheet Som Excel.Worksheet Privat sortiment Som Excel.Range
6.
Skapa det innehåll som ska gå in i kalkylbladet, till exempel:
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)
Innehållet som skickas till kalkylbladet i det här exemplet använder en multiplikationstabell med 10 till 20. Alla data läggs till i en StringBuilder med kolumner separerade av fliktecken (vbTab) och varje rad separeras av ett slutet på radtecken (med AppendLine-metoden). När allt innehåll är kopierat till StringBuilder, placeras det i Urklippet. När kalkylbladet är öppet kommer koden att klistra in dessa data i kalkylbladet.
7.
Öppna kalkylbladet:
excelApp = CreateObject ("Excel.Application") excelApp.Visible = True excelDoc = excelApp.Workbooks.Add () excelSheet = excelDoc.ActiveSheet
Här skapar programmet ett nytt Excel-applikationsobjekt med CreateObject-metoden och sätter sedan sin Synliga egenskap till True för att berätta för Excel att visa sig på skärmen. Det skapar sedan ett nytt WorkSheet och får ett handtag till den aktiva sidan.
8.
Klistra in data i den första cellen i kalkylbladet:
range = excelSheet.Cells(1, 1) excelSheet.Paste(range) End Sub
Slutklass
Hämta intervallet för den första cellen och klistra sedan in klippklippets innehåll i cellen. Flikarna och radmatningarna separerar kolumnerna och raderna.
9.
Kör programmet. Klicka på "F5" för att starta programmet, klicka sedan på "Till Excel" -knappen för att öppna och visa kalkylbladet.
Saker som behövs
- Microsoft Visual Studio eller Visual Basic Express 2010
- Microsoft Office Excel 2010, 2007 eller XP
Tips
- Samma teknik fungerar för data från SQL-frågor, textfiler eller annan data som kan presenteras på en rapport eller ListView. För bättre presentation, inkludera namnet på en Excel-mall till Arbetsboken. Den öppna metoden och data läggs över på en förformaterad mall.