Как заставить кавычки в каждом поле при сохранении листа Excel в виде CSV-файла? - PullRequest
0 голосов
/ 30 августа 2010

Вот моя ситуация.

data = "" & data & ""
xlsheet.Range(crange).Value = data
xlfile.SaveAs(FileName:=finalfilename, FileFormat:=6)

Этот код помещает «вокруг данных, помещает данные в диапазон и сохраняет рабочую книгу (xlfile) с одним рабочим листом (xlsheet) в виде файла csv.

Если я открою CSV-файл в блокноте, я найду следующее

1. цитаты удалены
2. выводятся 0 из номеров

Как обеспечить наличие кавычек при программном сохранении файла? Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 30 августа 2010

Эта строка ничего не делает:

' Append empty strings on front and back (i.e., do nothing). '
data = "" & data & ""

Попробуйте:

' Append double quotes on front and back. '
data = """" & data & """"

Помогает ли это?


ОБНОВЛЕНИЕ : Я мог бы быть неосновным здесь, но я думаю, что проблема может просто состоять в том, что у вас недостаточно детального контроля над , что делает Excel, когда он сохраняет файл CSV .Насколько я помню, по умолчанию он не помещает кавычки вокруг значений, если они не нужны для определения отдельной ячейки, которая может содержать данные, которые в противном случае испортили бы формат CSV.Например, он помещает кавычки вокруг ячеек с текстовыми значениями, которые включают запятые.

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

Самый очевидный способ обойти это, для меня, было бы просто сохранить данные на диск самостоятельно .Таким образом, вы можете вручную ставить кавычки вокруг каждой ячейки и не беспокоиться о том, что voo doo Excel может автоматически выполнять при вызове SaveAs.

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

0 голосов
/ 18 сентября 2012

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

Если вы установите пользовательский формат для столбца ячейки, все значения примут этот формат.

Длячисла .... как почтовый индекс .... это будет это '#' Для текстового строки, это будет это '@'

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...