Note: The other languages of the website are Google-translated. Back to English
English English

Come salvare i dati del foglio di lavoro come file CSV con / senza virgolette doppie?

Quando esporti o salvi un intervallo di dati da Excel a un file csv, normalmente, i dati csv non sono racchiusi tra virgolette doppie, ma, se i valori delle celle sono separati da virgole o interruzioni di riga, i dati csv esportati saranno intorno al citazioni. E in questo articolo, parlerò di come salvare i dati del foglio di lavoro come file csv con o senza virgolette doppie di cui hai bisogno.

Salva i dati del foglio di lavoro come file CSV con virgolette doppie

Salva i dati del foglio di lavoro come file CSV senza virgolette doppie


freccia blu freccia destra Salva i dati del foglio di lavoro come file CSV con virgolette doppie

Per salvare i dati normali come file csv con virgolette doppie, il seguente codice VBA può aiutarti, per favore fai come segue:

1. Tieni premuto il ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Clic inserire > Moduloe incolla il codice seguente nel file Modulo Finestra.

Codice VBA: salva i dati del foglio di lavoro come file csv con virgolette doppie:

Sub CSVFile()
'updateby Extendoffice
    Dim xRg As Range
    Dim xRow As Range
    Dim xCell As Range
    Dim xStr As String
    Dim xSep As String
    Dim xTxt As String
    Dim xName As Variant
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
    Set xRg = Application.InputBox("Please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    xName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
    xSep = Application.International(xlListSeparator)
    Open xName For Output As #1
    For Each xRow In xRg.Rows
        xStr = ""
        For Each xCell In xRow.Cells
            xStr = xStr & """" & xCell.Value & """" & xSep
        Next
        While Right(xStr, 1) = xSep
            xStr = Left(xStr, Len(xStr) - 1)
        Wend
        Print #1, xStr
    Next
    Close #1
    If Err = 0 Then MsgBox "The file has saved to: " & xName, vbInformation, "Kutools for Excel"
End Sub

3. E poi premere F5 chiave per eseguire questo codice e viene visualizzata una finestra di messaggio per ricordarti di selezionare l'intervallo di dati che desideri salvare come file csv con virgolette doppie, vedi screenshot:

doc salva csv con virgolette 1

4. Quindi fare clic OK pulsante e un Salva con nome viene visualizzata la finestra, specificare il nome e il percorso del file, quindi fare clic su Risparmi pulsante, vedi screenshot:

doc salva csv con virgolette 2

5. E a Kutools for ExcelViene visualizzata la finestra di richiesta di per ricordarti che il nuovo file CSV è stato salvato nella posizione specificata, vedi screenshot:

doc salva csv con virgolette 3

6. Clic OK per chiudere la finestra di dialogo e ora, quando apri il tuo nuovo file csv, tutti i dati sono racchiusi tra virgolette doppie come mostrato nella seguente schermata:

doc salva csv con virgolette 4


freccia blu freccia destra Salva i dati del foglio di lavoro come file CSV senza virgolette doppie

Se i tuoi dati sono separati da virgola, interruzione di riga in una cella, quando salvi i dati come file csv, i dati saranno racchiusi tra virgolette doppie come mostrato di seguito:

doc salva csv con virgolette 5

Per salvare i dati come file csv senza virgolette doppie, applicare il seguente codice VBA.

1. Tieni premuto il ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Clic inserire > Moduloe incolla il codice seguente nel file Modulo Finestra.

Codice VBA: salva i dati del foglio di lavoro come file csv senza virgolette doppie:

Sub Export()
'updateby Extendoffice
    Dim xRg As Range
    Dim xRow As Range
    Dim xCell As Range
    Dim xStr As String
    Dim xTxt As String
    Dim xName As Variant
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
    Set xRg = Application.InputBox("Please select data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    xName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
    Open xName For Output As #1
    For Each xRow In xRg.Rows
        xStr = ""
        For Each xCell In xRow.Cells
            xStr = xStr & xCell.Value & Chr(9)
        Next
        While Right(xStr, 1) = Chr(9)
            xStr = Left(xStr, Len(xStr) - 1)
        Wend
        Print #1, xStr
    Next
    Close #1
    If Err = 0 Then MsgBox "The file has saved to: " & xName, vbInformation, "Kutools for Excel"
End Sub

3. Quindi premere F5 chiave per eseguire questo codice e viene visualizzata una finestra di messaggio per ricordarti di selezionare l'intervallo di dati che desideri salvare come csv senza virgolette doppie, vedi screenshot:

doc salva csv con virgolette 6

4. Clic OK pulsante e un Salva con nome viene visualizzata la finestra, specificare un nome file e un percorso per il nuovo file csv, vedere screenshot:

doc salva csv con virgolette 7

5. E poi clicca Risparmi pulsante, a Kutools for ExcelViene visualizzata la finestra di dialogo di per dirti che il nuovo file csv è stato salvato nella posizione specificata, vedi screenshot:

doc salva csv con virgolette 8

6. Clicchi OK per chiudere la finestra di dialogo e, quando apri il tuo nuovo file csv, le virgolette doppie circondate dai dati vengono rimosse come mostrato nella seguente schermata:

doc salva csv con virgolette 9


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile distribuzione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce centinaia di clic del mouse ogni giorno!
fondo officetab
Commenti (6)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Ciao!
Muito obrigado! O conteúdo me ajudou muito. Precisava gerar um arquivo txt eliminando aspas duplas no início e no final de cada linha e não estava conseguindo resolver. Agora segui.
Questo commento è stato fatto dal moderatore sul sito
Sério eu te amo rsrsrsr
Me ajudou demais, muito obrigada!
Questo commento è stato fatto dal moderatore sul sito
non unicode
Questo commento è stato fatto dal moderatore sul sito
Grazie mille per questo. Sono 3 giorni che cerco di capire come mettere virgolette intorno al mio file!
Questo commento è stato fatto dal moderatore sul sito
Sub Esportatore_TXT()



Application.ScreenUpdating = False



'Seleciona a guia Extract do Excel depois a célula A1
Fogli("Estrai").Seleziona
Intervallo ("A1").Seleziona

'Iniciar exportação txt via Print com texto exato mostrado em tela sem erro das aspas

Percorso fioco come stringa
Dim FileNumber come intero
Dim LR come intero
Dim LC come intero

Dim k come intero
Dim i As Integer

LR = Fogli di lavoro("Estrai").Cells(Righe.Conteggio, 1).Fine(xlSu).Riga
LC = Fogli di lavoro("Estrai").Cells(1, Columns.Count).End(xlToLeft).Column

Percorso = ThisWorkbook.Path & "\Extract" & Format(Now(), "ddmmyyyy-hhmmss") & ".csv"
NumeroFile = File gratuito

Apri il percorso per l'output come numero di file

Per k = 1 A LR

Per i = 1 A LC

Se io <> LC Allora
Stampa #NumeroFile, Celle(k, i),
Altro
Stampa #NumeroFile, Celle(k, i)
End If

Avanti

Avanti k

Chiudi NumeroFile


' Caso deseja abrir o notepad imediatamente per conferir o txt gerado só retirar a linha comentada abaixo:


'Shell "notepad.exe" e percorso, vbNormalFocus



Application.ScreenUpdating = True

MsgBox "Estrarre*.txt salvo pasta per abriu este Excel!"

End Sub
Questo commento è stato fatto dal moderatore sul sito
Caso deseje apenas salva todo o Excel in csv *sem aspas* conforme eu, segue suggerimento:

Sub Exportar_CSV()

Application.ScreenUpdating = False

'Seleciona a guia Extract do Excel depois a célula A1
Fogli("Estrai").Seleziona
Intervallo ("A1").Seleziona

'Iniciar exportação txt via Print com texto exato mostrado em tela sem erro das aspas

Percorso fioco come stringa
Dim FileNumber come intero
Dim LR come intero
Dim LC come intero

Dim k come intero
Dim i As Integer

LR = Fogli di lavoro("Estrai").Cells(Righe.Conteggio, 1).Fine(xlSu).Riga
LC = Fogli di lavoro("Estrai").Cells(1, Columns.Count).End(xlToLeft).Column

Percorso = ThisWorkbook.Path & "\Extract" & Format(Now(), "ddmmyyyy-hhmmss") & ".csv"
NumeroFile = File gratuito

Apri il percorso per l'output come numero di file

Per k = 1 A LR

Per i = 1 A LC

Se io <> LC Allora
Stampa #NumeroFile, Celle(k, i),
Altro
Stampa #NumeroFile, Celle(k, i)
End If

Avanti

Avanti k

Chiudi NumeroFile


' Caso deseja abrir o notepad imediatamente per conferir o txt gerado só retirar a linha comentada abaixo:


'Shell "notepad.exe" e percorso, vbNormalFocus



Application.ScreenUpdating = True

MsgBox "Estrarre*.txt salvo pasta per abriu este Excel!"

End Sub
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite