Перейти к основному содержанию

Как сохранить данные рабочего листа в виде файла csv с двойными кавычками или без них?

Когда вы экспортируете или сохраняете диапазон данных из Excel в файл csv, обычно данные csv не заключены в двойные кавычки, но, если значения ваших ячеек разделены запятой или разрывом строки, экспортированные данные CSV будут с двойными кавычками. цитаты. В этой статье я расскажу о том, как сохранить данные рабочего листа в виде файла csv с двойными кавычками или без них, если вам нужно.

Сохраните данные рабочего листа как файл csv с двойными кавычками

Сохраняйте данные рабочего листа как файл csv без двойных кавычек


стрелка синий правый пузырь Сохраните данные рабочего листа как файл csv с двойными кавычками

Чтобы сохранить обычные данные в виде файла csv с двойными кавычками, вам может помочь следующий код VBA, пожалуйста, сделайте следующее:

1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код VBA: сохранить данные рабочего листа как файл csv с двойными кавычками:

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, Затем нажмите F5 нажмите клавишу для запуска этого кода, и появится диалоговое окно, напоминающее вам о выборе диапазона данных, который вы хотите сохранить как файл csv с двойными кавычками, см. снимок экрана:

док сохранить csv с кавычками 1

4. Затем нажмите OK и Сохранить как появится окно, укажите имя и расположение файла, а затем нажмите Сохранить кнопку, см. снимок экрана:

док сохранить csv с кавычками 2

5, И Kutools for ExcelПоявится окно подсказки, чтобы напомнить вам, что новый файл CSV был сохранен в указанном месте, см. снимок экрана:

док сохранить csv с кавычками 3

6. Нажмите OK чтобы закрыть диалоговое окно, и теперь, когда вы открываете новый файл csv, все данные заключаются в двойные кавычки, как показано на следующем снимке экрана:

док сохранить csv с кавычками 4


стрелка синий правый пузырь Сохраняйте данные рабочего листа как файл csv без двойных кавычек

Если ваши данные разделены запятой, разрыв строки в ячейке, когда вы сохраняете данные как файл csv, данные будут заключены в двойные кавычки, как показано ниже:

док сохранить csv с кавычками 5

Чтобы сохранить данные в виде CSV-файла без двойных кавычек, примените следующий код VBA.

1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код VBA: сохранить данные рабочего листа как файл csv без двойных кавычек:

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, Затем нажмите F5 нажмите клавишу для запуска этого кода, и появится диалоговое окно, напоминающее вам о выборе диапазона данных, который вы хотите сохранить как CSV без двойных кавычек, см. снимок экрана:

док сохранить csv с кавычками 6

4. Нажмите OK и Сохранить как отображается окно, укажите имя файла и расположение для нового файла CSV, см. снимок экрана:

док сохранить csv с кавычками 7

5, Затем нажмите Сохранить кнопка, а Kutools for ExcelПоявится окно подсказки, чтобы сообщить вам, что новый файл CSV был сохранен в указанном месте, см. снимок экрана:

док сохранить csv с кавычками 8

6. Нажмите OK чтобы закрыть диалоговое окно, и, когда вы откроете новый файл csv, двойные кавычки, окруженные данными, будут удалены, как показано на следующем снимке экрана:

док сохранить csv с кавычками 9

Лучшие инструменты для офисной работы

🤖 Kutools AI Помощник: Революционный анализ данных на основе: Интеллектуальное исполнение   |  Генерировать код  |  Создание пользовательских формул  |  Анализ данных и создание диаграмм  |  Вызов функций Kutools...
Популярные опции: Найдите, выделите или определите дубликаты   |  Удалить пустые строки   |  Объедините столбцы или ячейки без потери данных   |   Раунд без формулы ...
Супер поиск: Множественный критерий VLookup    VLookup с несколькими значениями  |   VLookup по нескольким листам   |   Нечеткий поиск ....
Расширенный раскрывающийся список: Быстрое создание раскрывающегося списка   |  Зависимый раскрывающийся список   |  Выпадающий список с множественным выбором ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка Фокус   |  Просмотр дизайна   |   Большой Формулный Бар    Менеджер книг и листов   |  Библиотека ресурсов (Авто текст)   |  Выбор даты   |  Комбинировать листы   |  Шифровать/дешифровать ячейки    Отправлять электронные письма по списку   |  Суперфильтр   |   Специальный фильтр (фильтровать жирным шрифтом/курсивом/зачеркиванием...) ...
15 лучших наборов инструментов12 Текст Инструменты (Добавить текст, Удалить символы, ...)   |   50+ График Тип (Диаграмма Ганта, ...)   |   40+ Практических Формулы (Рассчитать возраст по дню рождения, ...)   |   19 Вносимые Инструменты (Вставить QR-код, Вставить изображение из пути, ...)   |   12 Конверсия Инструменты (Числа в слова, Конверсия валюты, ...)   |   7 Слияние и разделение Инструменты (Расширенные ряды комбинирования, Разделить клетки, ...)   |   ... и более

Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени.  Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...

Описание


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Comments (7)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Super simple and straight forward! Saved the day for me. Much appreciated.
Rated 5 out of 5
This comment was minimized by the moderator on the site
Caso deseje apenas salva todo o Excel em csv *sem aspas* conforme eu, segue sugestão:

Sub Exportar_CSV()

Application.ScreenUpdating = False

'Seleciona a guia Extract do Excel depois a célula A1
Sheets("Extract").Select
Range("A1").Select

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

Dim Path As String
Dim FileNumber As Integer
Dim LR As Integer
Dim LC As Integer

Dim k As Integer
Dim i As Integer

LR = Worksheets("Extract").Cells(Rows.Count, 1).End(xlUp).Row
LC = Worksheets("Extract").Cells(1, Columns.Count).End(xlToLeft).Column

Path = ThisWorkbook.Path & "\Extract " & Format(Now(), "ddmmyyyy-hhmmss") & ".csv"
FileNumber = FreeFile

Open Path For Output As FileNumber

For k = 1 To LR

For i = 1 To LC

If i <> LC Then
Print #FileNumber, Cells(k, i),
Else
Print #FileNumber, Cells(k, i)
End If

Next i

Next k

Close FileNumber


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


'Shell "notepad.exe " & Path, vbNormalFocus



Application.ScreenUpdating = True

MsgBox "Extract*.txt salvo na pasta onde abriu este Excel!"

End Sub
This comment was minimized by the moderator on the site
Sub Exportar_TXT()



Application.ScreenUpdating = False



'Seleciona a guia Extract do Excel depois a célula A1
Sheets("Extract").Select
Range("A1").Select

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

Dim Path As String
Dim FileNumber As Integer
Dim LR As Integer
Dim LC As Integer

Dim k As Integer
Dim i As Integer

LR = Worksheets("Extract").Cells(Rows.Count, 1).End(xlUp).Row
LC = Worksheets("Extract").Cells(1, Columns.Count).End(xlToLeft).Column

Path = ThisWorkbook.Path & "\Extract " & Format(Now(), "ddmmyyyy-hhmmss") & ".csv"
FileNumber = FreeFile

Open Path For Output As FileNumber

For k = 1 To LR

For i = 1 To LC

If i <> LC Then
Print #FileNumber, Cells(k, i),
Else
Print #FileNumber, Cells(k, i)
End If

Next i

Next k

Close FileNumber


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


'Shell "notepad.exe " & Path, vbNormalFocus



Application.ScreenUpdating = True

MsgBox "Extract*.txt salvo na pasta onde abriu este Excel!"

End Sub
This comment was minimized by the moderator on the site
Thank you so much for this. I've been trying to figure out how to put double quotes around my file for 3 days!
This comment was minimized by the moderator on the site
not unicode
This comment was minimized by the moderator on the site
Sério eu te amo rsrsrsr
Me ajudou demais, muito obrigada!
This comment was minimized by the moderator on the site
Olá!
Muito obrigado! O conteúdo me ajudou muito. Precisava gerar um arquivo txt eliminando as aspas duplas no início e no final de cada linha e não estava conseguindo resolver. Agora consegui.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations