Microsoft Excel spreadsheet is software die je toelaat om input en beheer van enorme hoeveelheden gegevens in werkbladen . Als u gegevens wilt overzetten naar Excel uit een database , Visual Basic is een Microsoft programmeertaal die u toelaat om de inhoud van een dataset om een Excel- bestand te kopiëren . Visual Basic is ontworpen voor beginnende programmeurs en wordt voornamelijk gebruikt om Windows-applicaties zoals Word , PowerPoint en Excel te ontwikkelen en aan te passen . Instructies 1 Maak een nieuwe klasse bestand in uw project met de naam " DataTableHelper.vb " Kopie 2 de volgende kopie in het nieuwe bestand : . Imports SystemImports System.DataImports System.IO Public Class DataTableHelper '' Heb je streamen DataTable naar Browser , direct , moet je '' Response.Clear ( ) in te stellen ; ' Response.Buffer = true; " Response . ContentType = " application /vnd.ms - excel ' ; ' Response.AddHeader ( " Content - Disposition " , " inline ; filename = Clientes.xls " ) ; ' Response.Charset = " " ; ' this.EnableViewState = false ' WERKELIJKE CODE ' ProduceCSV ( dt , Response.Output , true) ; ' Public Shared Sub ProduceCSV ( ByVal dt als DataTable , _ByVal httpStream Zoals System.IO.TextWriter , ByVal WriteHeader Als Boolean ) Dim i als Int32Dim j als Int32If WriteHeader dan Dim arr ( dt.Columns.Count ) als Koord Voor i = 0 To dt.Columns.Count - . 1arr ( i ) = dt.Columns ( i ) ColumnNamearr ( i ) = GetWriteableValue ( arr ( i ) ) NexthttpStream.WriteLine ( String.Join ( " , " , arr ) ) End If Voor j = 0 To dt.Rows.Count - 1Dim dataArr ( dt. Columns.Count ) Zoals StringFor i = 0 To dt.Columns.Count - 1Dim o als Voorwerp = dt.Rows ( j ) ( i ) dataArr ( i ) = GetWriteableValue ( o ) NexthttpStream.WriteLine ( String.Join ( " , " , dataArr ) ) Volgende End Sub beelden # Region " CSVProducer " Public Shared Sub ProduceCSV ( ByVal dt als DataTable , _ByVal file Zoals System.IO.StreamWriter , ByVal WriteHeader zoals Van Boole ) < br > Dim i als Int32Dim j Zoals Int32If ( WriteHeader ) ThenDim arr ( dt.Columns.Count ) Zoals StringFor i = 0 To dt.Columns.Count - . 1arr ( i ) = dt.Columns ( i ) ColumnNamearr ( i ) = GetWriteableValue ( arr ( i ) ) Nextfile.WriteLine ( String.Join ( " , " , arr ) ) End If Voor j = 0 To dt.Rows.Count - 1Dim dataArr ( dt.Columns . tel ) Zoals StringFor i = 0 To dt.Columns.CountDim o als Voorwerp = dt.Rows ( j ) ( i ) dataArr ( i ) = GetWriteableValue ( o ) Nextfile.WriteLine ( String.Join ( " , " , dataArr ) ) VolgendeEinde Sub Public Shared Function GetWriteableValue ( ByVal o As Object ) Zoals StringIf o Is Nothing orelse IsDBNull ( o ) ThenReturn " " ElseIf ( o.ToString ( ) . IndexOf ( ' , ' ) = -1 ) ThenReturn o.ToString ( ) ElseReturn " \\ " " + o.ToString ( ) + " \\ " " end IfEnd Function beelden # end Region end klasse 3 Voer de volgende code om de nieuwe klasse te gebruiken , en zie de csv output naar de console : Dim dt als DataTable = ds.Tables ( 0 ) Dim swriter Zoals IO.StreamWriter = nieuw IO.StreamWriter ( " c: \\ yourCSVFile.csv " ) DataTableHelper.ProduceCSV ( dt , swriter , True ) op Twitter
|