Как сохранить данные листа в CSV-файл — с двойными кавычками или без них?
При экспорте или сохранении диапазона данных из Excel в CSV-файл вы, вероятно, замечали: по умолчанию значения в CSV не заключаются в двойные кавычки. Однако если ячейки содержат специальные символы — например, запятые или разрывы строк, — Excel автоматически оборачивает такие значения в двойные кавычки в итоговом CSV-файле. Это гарантирует корректное сохранение структуры данных при открытии файла в других приложениях. На практике часто возникает потребность управлять этим поведением: либо принудительно заключать все данные в кавычки, либо полностью от них отказываться. В этой статье мы рассмотрим несколько эффективных способов сохранения данных листа в CSV с двойными кавычками или без них, проанализируем применимость каждого метода и предоставим подробные пошаговые инструкции.
Сохранение данных листа в CSV-файл с двойными кавычками
Сохранение данных листа в CSV-файл без двойных кавычек
Другие встроенные методы Excel: использование команды «Сохранить как» для экспорта CSV
Сохранение данных листа в CSV-файл с двойными кавычками
Если вам нужно гарантировать, что каждое значение на листе будет заключено в двойные кавычки при экспорте в CSV — например, для совместимости с определёнными системами импорта данных или когда данные содержат запятые, символы табуляции или разрывы строк, — этого можно легко добиться с помощью кода VBA, настроив процесс экспорта.
Для большинства пользователей стандартный экспорт в Excel не позволяет автоматически заключать все поля в кавычки. С помощью VBA можно точно управлять форматом вывода, особенно при работе со сложными или объёмными наборами данных. Единственным недостатком является необходимость базового знакомства со средой редактора VBA, но гибкость этого подхода обычно с лихвой окупает это небольшое неудобство.
Чтобы выполнить эту операцию, следуйте подробным инструкциям ниже:
1. Удерживая клавиши ALT + F11, откройте окно Microsoft Visual Basic for Applications. Если вы не знакомы со средой VBA, обязательно сохраните книгу перед тем, как продолжить.
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-файл с двойными кавычками. См. снимок экрана:

4. После выбора нажмите ОК. Откроется окно Сохранить как. Укажите имя целевого файла и место для сохранения, затем подтвердите. См. снимок экрана:

5. В Kutools для Excel появится сообщение, подтверждающее, что новый CSV-файл успешно сохранён в указанном месте. См. снимок экрана:

6. Нажмите ОК, чтобы закрыть диалоговое окно. Когда вы откроете новый CSV-файл в текстовом редакторе или импортируете его в другую систему, вы увидите, что все данные заключены в двойные кавычки, как показано здесь:

Совет: иногда региональные параметры (например, символы-разделители списков) могут повлиять на формат сохранённого CSV-файла. Если возникли проблемы с разделителями, внимательно проверьте экспортированный файл и при необходимости измените значение xSep в коде, чтобы настроить пользовательские разделители.

Раскройте магию Excel с помощью KUTOOLS AI
- Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
- Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
- Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
- Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
- Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
Сохранение данных листа в CSV-файл без двойных кавычек
Иногда возникает необходимость экспортировать данные Excel в CSV без двойных кавычек — особенно когда данные не содержат полей с запятыми, разрывами строк или другими специальными символами, способными вызвать ошибки при разборе CSV-файлов. По умолчанию Excel автоматически заключает в двойные кавычки те ячейки, которые содержат запятые или разрывы строк, чтобы сохранить целостность данных при экспорте в CSV, как показано ниже:

Если вы хотите сохранить данные в CSV-файл вообще без двойных кавычек, воспользуйтесь пользовательским макросом VBA, который выводит простые значения, разделённые выбранным разделителем (в данном случае — символом табуляции). Это особенно полезно, когда вы уверены, что ваши данные не содержат проблемных символов и требуется строгое соблюдение формата без кавычек.
Примечание: значения, разделённые табуляцией (.tsv), технически не относятся к формату CSV, однако многие системы их поддерживают и они обеспечивают простую структуру, избавляющую от необходимости использования двойных кавычек.
1. Удерживая клавиши ALT + F11, откройте окно Microsoft Visual Basic for Applications. Сохраните книгу перед продолжением, чтобы избежать потери данных в случае непредвиденных ошибок кода.
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 Этот сценарий создаёт CSV-файл, в котором каждое поле разделено табуляцией вместо запятой, а значения ячеек не заключаются в двойные кавычки. Проверьте свои данные, чтобы убедиться, что Символы табуляции не появляется внутри отдельных ячеек, так как это может нарушить структуру вывода. Сценарий также запрашивает имя файла и место для сохранения экспортируемого файла.
3. Нажмите F5, чтобы запустить макрос. Появится диалоговое окно с запросом выбора диапазона данных, который нужно экспортировать в виде CSV-файла без двойных кавычек:

4. После выбора данных нажмите ОК. В диалоговом окне Сохранить как укажите имя файла и место для сохранения. Нажмите Сохранить, чтобы продолжить:

5. Kutools для Excel отображает диалоговое окно с подтверждением сохранения файла. Нажмите ОК.

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

Если ваши данные содержат запятые или разрывы строк внутри ячеек, от использования этого метода лучше отказаться — это может привести к ошибкам при разборе.
Другие встроенные методы Excel: использование команды «Сохранить как» для экспорта CSV
Excel также предлагает простой встроенный способ экспорта данных листа в CSV-файл через функцию «Сохранить как». Этот метод идеально подходит для быстрого экспорта и для пользователей, которым не нужен ручной контроль над двойными кавычками или разделителями. При использовании этого подхода Excel автоматически заключает в двойные кавычки те поля, которые содержат специальные символы — например, запятые, разрывы строк или сами двойные кавычки. Поля, не содержащие таких символов, остаются без кавычек. Такой формат полностью соответствует стандартным соглашениям CSV и гарантирует совместимость с большинством сторонних приложений и систем импорта данных.
Хотя этот метод не позволяет принудительно заключать все поля в кавычки или полностью отключить их использование, он отлично подходит для базового экспорта данных, когда стандартного CSV-форматирования достаточно. Главное ограничение — отсутствие тонкой настройки: если ваши данные должны единообразно заключаться в кавычки или требуется изменить разделители, лучше воспользоваться VBA или другими специализированными инструментами. Кроме того, экспортируется всегда весь активный лист; чтобы выгрузить только определённый диапазон, его сначала нужно скопировать на отдельный лист.
Чтобы использовать команду «Сохранить как» Excel для экспорта CSV, выполните следующие действия:
1. Щелкните Файл > Сохранить как. В более ранних версиях Excel выберите Кнопка Office > Сохранить как.
2. В диалоговом окне Сохранить как выберите расположение файла и введите нужное имя файла.
3. В раскрывающемся меню Указать формат сохранения выберите CSV (разделитель — запятая) (*.csv).
4. Нажмите Сохранить. Если лист содержит функции, не поддерживаемые форматом CSV (например, формулы, форматирование или несколько листов), Excel сообщит, что будет сохранён только текущий лист в формате CSV. Нажмите ОК, чтобы продолжить.
После сохранения откройте полученный файл в текстовом редакторе (например, в Блокноте) — и вы сразу заметите следующее:
- Ячейки, содержащие запятые, разрывы строк или специальные символы, автоматически заключаются в двойные кавычки.
- Ячейки, содержащие обычный текст или числа и не имеющие специальных символов, не заключаются в кавычки.
- В этом методе отсутствует возможность вручную задать принудительное добавление или исключение кавычек для всех полей.
Совет: перед экспортом убедитесь, что в данных отсутствуют нежелательные специальные символы — они влияют на то, как Excel заключает ячейки в кавычки. Чтобы экспортировать только часть диапазона, скопируйте нужный фрагмент на пустой лист и воспользуйтесь командой «Сохранить как» оттуда. В международных версиях Excel разделитель полей может соответствовать вашим локальным настройкам.
Устранение неполадок и рекомендации:
- Всегда проверяйте экспортированный CSV-файл в текстовом редакторе, чтобы убедиться: кавычки и разделители именно такие, как вы ожидаете.
- Если возникают проблемы с кодировкой (например, некорректное отображение неанглийских символов), рекомендуем при возможности сохранять файл в формате CSV UTF-8 через диалоговое окно «Сохранить как».
- При использовании VBA обязательно проверяйте данные на наличие внутренних двойных кавычек или разделителей, способных нарушить форматирование, и при необходимости заранее обрабатывайте такие данные.
- Если нужно экспортировать только часть листа, скопируйте нужный диапазон на новый лист и выполните экспорт — либо воспользуйтесь VBA для выбора конкретного диапазона.
- Имейте в виду: формат CSV сохраняет только необработанные значения с одного листа — формулы, форматирование и несколько листов в нём не поддерживаются.
Резюме: выбор между методами VBA и встроенными возможностями Excel зависит от ваших требований к согласованности кавычек, контролю над разделителями и диапазоном данных для экспорта. Предоставленные методы VBA обеспечивают точный контроль при решении сложных задач, тогда как стандартная команда Excel «Сохранить как» идеально подходит для быстрого и простого экспорта со стандартным поведением при заключении в кавычки. Если ни один из этих методов не отвечает вашим конкретным требованиям — например, когда нужно заключать в кавычки только отдельные столбцы или применять собственные правила экранирования, — рассмотрите возможность использования дополнительных скриптов или специализированных утилит для обработки данных перед их распространением.
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек