Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako napísať Obsah sady dát do súboru programu Excel Visual Basic 2005

Microsoft Excel je tabuľkový softvér , ktorý umožňuje vstup a spravovať veľké množstvo dát v listoch . Ak chcete preniesť údaje do programu Excel z databázy , Visual Basic je programovací jazyk Microsoft , ktorý umožňuje kopírovať obsah dátového súboru do súboru programu Excel . Visual Basic bol určený pre začínajúcich programátorov a slúži predovšetkým k vývoju a prispôsobenie aplikácie pre Windows , ako je Word , PowerPoint a Excel . Pokyny dovolená 1

Vytvorte nový súbor triedy v projekte s názvom " DataTableHelper.vb "
2

Skopírujte nasledujúci kópiu do nového súboru : . Dovoz SystemImports System.DataImports System.IO

Public Class DataTableHelper

'' Môže prenášať DataTable do prehliadača , priamo , musíte nastaviť '' Response.Clear ( ) ; " Response.Buffer = true ; " odozvy . ContentType = " application /vnd.ms - excel " ; " Response.AddHeader ( " Content - Dispozícia " , " inline ; filename = Clientes.xls " ) ; ' Response.Charset = " " ; " this.EnableViewState = false ' AKTUÁLNE CODE ' ProduceCSV ( dt , Response.Output , true ) ; "

Public Shared Sub ProduceCSV ( byval dt ako DataTable , _ByVal httpStream ako System.IO.TextWriter , byVal WriteHeader As Boolean ) Dim i ako Int32Dim j ako Int32If WriteHeader Potom

Dim arr ( dt.Columns.Count ) ako reťazec

i = 0 dt.Columns.Count - . 1arr ( i ) = dt.Columns ( i ) ColumnNamearr ( i ) = GetWriteableValue ( arr ( i ) ) NexthttpStream.WriteLine ( string.join ( " , " , arr ) ) End If

j = 0 dt.Rows.Count - 1Dim dataArr ( nem. Columns.Count ) Ako StringFor i = 0 To dt.Columns.Count - 1Dim o As Object = dt.Rows ( j ) ( i ) dataArr ( i ) = GetWriteableValue ( o ) NexthttpStream.WriteLine ( string.join ( " , " , dataArr ) ) Ďalšia

End Sub

# Region " CSVProducer " Public Shared Sub ProduceCSV ( byval dt ako DataTable , _ByVal súbor ako System.IO.StreamWriter , byVal WriteHeader As Boolean )

Dim i ako Int32Dim j As Int32If ( WriteHeader ) ThenDim arr ( dt.Columns.Count ) ako StringFor i = 0 To dt.Columns.Count - . 1arr ( i ) = dt.Columns ( i ) ColumnNamearr ( aj ) = GetWriteableValue ( arr ( i ) ) Nextfile.WriteLine ( string.join ( " , " , arr ) ) End If

j = 0 dt.Rows.Count - 1Dim dataArr ( dt.Columns . gróf ) Ako StringFor i = 0 dt.Columns.CountDim o As Object = dt.Rows ( j ) ( i ) dataArr ( i ) = GetWriteableValue ( o ) Nextfile.WriteLine ( string.join ( " , " , dataArr ) ) DalšíKonec Sub

Public Shared Function GetWriteableValue ( byVal o As Object ) Ako StringIf o je nič OrElse IsDBNull ( o ) ThenReturn " " ElseIf ( o.ToString ( ) . indexOf ( " , " ) = -1 ) ThenReturn o.ToString ( ) ElseReturn " \\ " " + o.ToString ( ) + " \\ " "

Koniec IfEnd Function # end kraj

end trieda
3

vykonať nasledujúci kód použiť novú triedu , a pozri CSV výstup na konzolu : Dim dt Ako DataTable = ds.Tables ( 0 ) Dim sWriter Ako IO.StreamWriter = Nové IO.StreamWriter ( "c : \\ yourCSVFile.csv " ) DataTableHelper.ProduceCSV ( dt , sWriter , pravda )

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené