Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Export csv

  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,745

    Export csv

    Uellaaa buon anno a tutti!
    Sto usando la sub che segue per generare un csv da un datatable:
    codice:
     Public Shared Function WriteRiga(ByVal input As String) As String
          Try
             If (input Is Nothing) Then
                Return String.Empty
             End If
    
             Dim containsQuote As Boolean = False
             Dim containsComma As Boolean = False
             Dim len As Integer = input.Length
             Dim i As Integer = 0
             Do While ((i < len) _
                         AndAlso ((containsComma = False) _
                         OrElse (containsQuote = False)))
                Dim ch As Char = input(i)
                If (ch = Microsoft.VisualBasic.ChrW(34)) Then
                   containsQuote = True
                ElseIf (ch = Microsoft.VisualBasic.ChrW(44)) Then
                   containsComma = True
                End If
    
                i = (i + 1)
             Loop
    
             If (containsQuote AndAlso containsComma) Then
                input = input.Replace(Microsoft.VisualBasic.ChrW(44), ".")
                input = input.Replace(Microsoft.VisualBasic.ChrW(34), "")
             Else
                Return input
             End If
    
          Catch ex As System.Exception
             'Throw
          End Try
    
       End Function
    
    .....
    
    Public sub FammiStoFileCSV()
    
    Dim filefisico As String = "C:\esportato.csv" 
      Dim nomefile As String = "eccolo.csv"
          Dim filefisico As String = "C:/cartella/" & nomefile
         
    
          Dim dt As DataTable = GetCSVData()
          Dim sb As StringBuilder = New StringBuilder
          For Each dr As DataRow In dt.Rows
             For Each dc As DataColumn In dt.Columns
                sb.Append((WriteRiga(dr(dc.ColumnName)) + ","))
             Next
             sb.Remove((sb.Length - 1), 1)
             sb.AppendLine()
          Next
          File.WriteAllText(filefisico, sb.tostring)
        
      'redirect a downloader
          response.redirect("/dloader.ashx?lnk=" & nomefile)
    End sub
    Farebbe tutto quello che serve tranne che non mi tiene i punti come separatori decimali di alcuni numeri presenti in una colonna del datatable...
    ... helpz?

    PS confesso che ne ho trovato in rete la gran parte e non sono così convinto che mi serva tutta quella funzione writeriga per fare il replace dei doppi apici e delle virgole... anyway...
    Ultima modifica di supermac; 07-01-2021 a 18:14
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    ciao, dai un occhio a CsvHelper
    /* --- */
    O santo protettore del'informatico quadratico medio , se puoi allontana da me questo cetriolo amaro!

  3. #3
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,745
    Risolto grazie
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.