1 Δημιουργήστε ένα νέο αρχείο class στο έργο σας, που ονομάζεται " DataTableHelper.vb " 2
Αντιγράψτε το ακόλουθο αντίγραφο στο νέο αρχείο : . Εισαγωγές SystemImports System.DataImports System.IO
Δημόσιας Τάξης DataTableHelper
'' Μπορεί ρεύμα DataTable στο πρόγραμμα περιήγησης , άμεσα , θα πρέπει να ορίσετε '' Response.Clear ( ) ? ' Response.Buffer = true ? " Response . ContentType = " application /vnd.ms - excel " ? " Response.AddHeader ( " Content - Διάθεση " , " inline ? αρχείου = Clientes.xls ")? ' Response.CharSet = " " ? " this.EnableViewState = false " ΠΡΑΓΜΑΤΙΚΗ CODE " ProduceCSV ( dt , Response.Output , αλήθεια)? «
Δημόσια Shared Sub ProduceCSV ( ByVal dt Όπως DataTable , _ByVal httpStream Όπως System.IO.TextWriter , ByVal WriteHeader Όπως Boolean ) Dim i Όπως Int32Dim j Όπως Int32If WriteHeader συνέχεια
Δημ. άφ ( dt.Columns.Count ) Όπως String
Για 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 ( dt. Columns.Count ) Όπως StringFor i = 0 Για να dt.Columns.Count - 1Dim o As Object = dt.Rows ( j ) ( i ) dataArr ( i ) = GetWriteableValue ( o ) NexthttpStream.WriteLine ( String.Join ( " , " , dataArr ) ) Επόμενο
End Sub
# Region " CSVProducer " Δημόσια Shared Sub ProduceCSV ( ByVal dt Όπως DataTable , _ByVal αρχείο Όπως System.IO.StreamWriter , ByVal WriteHeader Όπως Boolean )
Dim i Όπως Int32Dim j Όπως Int32If ( WriteHeader ) ThenDim άφ ( dt.Columns.Count ) Όπως StringFor i = 0 Για να dt.Columns.Count - . 1arr ( i ) = dt.Columns ( i ) ColumnNamearr ( i ) = GetWriteableValue ( ARR ( i ) ) Nextfile.WriteLine ( String.Join ( " , " , arr ) ) End If
Για j = 0 Για να dt.Rows.Count - 1Dim dataArr ( dt.Columns . Count ) Όπως StringFor i = 0 Για να dt.Columns.CountDim o As Object = dt.Rows ( j ) ( i ) dataArr ( i ) = GetWriteableValue ( o ) Nextfile.WriteLine ( String.Join ( " , " , dataArr ) ) ΕπόμενοΤέλος Sub
Δημόσιο Κοινόχρηστο GetWriteableValue Λειτουργία ( ByVal o As Object ) Όπως StringIf o δεν είναι τίποτα orelse IsDBNull ( o ) ThenReturn " " ElseIf ( o.ToString ( ) . IndexOf ( ",") = -1 ) ThenReturn o.ToString ( ) ElseReturn " \\ " " + o.ToString ( ) + " \\ " "
End Function IfEnd # End Περιφέρεια
end class
εικόνων 3
Εκτελέστε τον ακόλουθο κώδικα για να χρησιμοποιήσει τη νέα τάξη , και να δούμε την έξοδο csv στην κονσόλα : Dim dt Όπως DataTable = ds.Tables ( 0 ) Dim swriter Όπως IO.StreamWriter = νέα IO.StreamWriter ( "c : \\ yourCSVFile.csv " ) DataTableHelper.ProduceCSV ( dt , swriter , True )
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα