Jak zapisać dane arkusza roboczego jako plik csv z / bez podwójnych cudzysłowów?
Podczas eksportowania lub zapisywania zakresu danych z programu Excel do pliku csv zwykle danych csv nie ma w podwójnych cudzysłowach, ale jeśli wartości komórek są oddzielone przecinkiem lub podziałem wiersza, wyeksportowane dane csv będą miały podwójne cytaty. W tym artykule omówię, jak zapisać dane arkusza roboczego jako plik csv z podwójnymi cudzysłowami lub bez, zgodnie z potrzebami.
Zapisz dane arkusza jako plik csv z podwójnymi cudzysłowami
Zapisz dane arkusza jako plik csv bez cudzysłowów
Zapisz dane arkusza jako plik csv z podwójnymi cudzysłowami
Aby zapisać normalne dane jako plik csv z podwójnymi cudzysłowami, następujący kod VBA może ci pomóc, wykonaj następujące czynności:
1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.
2. Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.
Kod VBA: Zapisz dane arkusza roboczego jako plik csv z podwójnymi cudzysłowami:
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. A następnie naciśnij F5 klucz do uruchomienia tego kodu i pojawia się okienko zachęty przypominające o wyborze zakresu danych, który chcesz zapisać jako plik csv z podwójnymi cudzysłowami, zobacz zrzut ekranu:
4. Następnie kliknij OK przycisk i Zapisz jako pojawi się okno, podaj nazwę i lokalizację pliku, a następnie kliknij Zapisz przycisk, zobacz zrzut ekranu:
5. I Kutools dla programu ExcelPojawi się okienko zachęty, aby przypomnieć, że nowy plik csv został zapisany w określonej lokalizacji, patrz zrzut ekranu:
6. Kliknij OK aby zamknąć okno dialogowe, a teraz, gdy otwierasz nowy plik csv, wszystkie dane są otoczone podwójnymi cudzysłowami, jak pokazano na poniższym zrzucie ekranu:
Zapisz dane arkusza jako plik csv bez cudzysłowów
Jeśli dane są oddzielone przecinkiem, podziałem wiersza w komórce, po zapisaniu danych jako pliku csv dane zostaną otoczone podwójnymi cudzysłowami, jak pokazano poniżej:
Aby zapisać dane jako plik csv bez podwójnych cudzysłowów, zastosuj następujący kod VBA.
1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.
2. Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.
Kod VBA: Zapisz dane arkusza roboczego jako plik csv bez podwójnych cudzysłowów:
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. Następnie naciśnij F5 klucz do uruchomienia tego kodu i pojawia się okienko zachęty przypominające o wyborze zakresu danych, który chcesz zapisać jako csv bez podwójnych cudzysłowów, patrz zrzut ekranu:
4. Kliknij OK przycisk i Zapisz jako zostanie wyświetlone okno, proszę podać nazwę pliku i lokalizację nowego pliku csv, zobacz zrzut ekranu:
5. A następnie kliknij Zapisz przycisk, a Kutools dla programu ExcelPojawi się okienko zachęty z informacją, że nowy plik csv został zapisany w określonej lokalizacji, patrz zrzut ekranu:
6. Kliknij OK aby zamknąć okno dialogowe, a po otwarciu nowego pliku csv podwójne cudzysłowy otoczone danymi są usuwane, jak pokazano na poniższym zrzucie ekranu:
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!