4

Я хочу сохранить лист Excel в виде файла CSV.
Я выбираю «Сохранить как», выбираю формат файла CSV и нажимаю «Сохранить».

Когда я открываю этот сохраненный файл в текстовой панели, я вижу, что в Excel использовался символ ';' (точка с запятой) в качестве разделителя для клеток.

Я искал Google для этой проблемы, и было сказано, что разделитель списка в регионах дополнительные настройки формата должны быть изменены.

Я изменил разделитель списка систем на ',' (запятая), перезапустил Excel, попытался сохранить его снова, но точка с запятой все еще есть. Я перезагрузил компьютер, попытался сохранить его снова, но точка с запятой все еще есть.

Я искал все варианты Excel, чтобы установить разделитель списка вручную, но ничего там.

Мои вопросы:

  • Как установить разделитель списка для Excel 2010?
  • Почему Excel игнорирует мой измененный разделитель списка? (а как это починить?)

4 ответа4

7

Я наконец нашел ответ.
Кажется, что точка с запятой является разделителем резервных копий, который Excel использует, если по какой-то причине не может использовать запятую.

В моем случае это была причина того, что десятичный символ уже использовал запятую. Очевидно, что нельзя использовать один и тот же символ для десятичного символа и разделителя списка.

Чтобы ответить на мои вопросы напрямую:

  • Как установить разделитель списка для Excel 2010?
    Вы можете установить его в региональных и языковых настройках.
  • Почему Excel игнорирует мой измененный разделитель списка? (а как это починить?)
    Возможно, что десятичный символ использует тот же символ, что и разделитель списка, это не допускается. Смотрите изображение ниже.

1

Проблема заключается в том, что при записи файла CSV Excel будет использовать локальный разделитель списка, но при закрытии книги он будет перезаписывать файл разделителем по умолчанию.

Таким образом, решение проблемы:

Вручную: Сохранить как, а затем нажмите НЕТ при закрытии книги и Excel попросит сохранить файл.

VBA не использовать «Актив.Рабочая тетрадь.Закрыть True, но использовать Active.Рабочая тетрадь.Закрыть Ложь

это заставит использовать локальный разделитель списка.

0

Окончательное решение для тех, кто не хочет, чтобы Excel автоматически разбивал данные файла CSV на несколько столбцов (разделитель списка, например, точка с запятой или запятая) при двойном щелчке файла CSV:

Панель управления Windows 7 -> Язык и региональные стандарты -> Формат -> Дополнительные параметры -> Числа -> Разделитель списка - >>> Измените его на что угодно, кроме запятой или точки с запятой: например,: который, вероятно, кто-нибудь написал бы в базе данных.

тогда при двойном щелчке по CSV-файлу все данные останутся в одном столбце, а не будут перечислены отдельно в другом столбце.

0

Этот ответ, кажется, предлагает то, что вы уже попробовали. Не уверен, почему это не сработало для вас.

Если у вас их нет ; или , в содержимом ячеек, вы можете просто открыть файл в Блокноте и запустить поиск и замену.

Кроме того , вы можете вручную создать файл CSV с некоторыми VBA код - см это и что , например. Это дает вам полный контроль над разделителем, который вы хотите использовать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .