QuickBooksDev Ответов: 1

Какова правильная кодировка для использования writealltext с текстовым файлом с разделителями табуляции в VB2010?


Привет
У меня есть программа VB2010, которая записывает текстовый файл с разделителями табуляции с помощью
Мой.Компьютер.файловая система.WriteAllText(Theff,S, False)

S содержит строку Валь[вкладка]Валь[разделе][НЛ]Валь[вкладка]на вал [] [НЛ]
т.е.
A B C
1 2 3
при наличии вкладки

Этот файл читается Excel позже.

В Excel форматирование полностью отключено. Вкладки в основном игнорируются.

Есть ли где-нибудь кодировка по умолчанию? Или что такое кодировка по умолчанию и что делает Excel за исключением.

Это было сделано из окна немедленного производства
s = "A,B,C".Replace(",",t) & vbcrlf & "1,2,3".Replace(",",t)
? s
"A B C  1 2 3"
My.Computer.FileSystem.WriteAllText(ztemp & "xx.exl", s, False,System.Text.Encoding.ASCII) 


Это показано в Excel как
Азбука в ячейке A1
123 в ячейке А2
Вкладки игнорируют и должны были быть помещены в разные ячейки.

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

Что я уже пробовал:

Использование другой кодировки в WriteAllText. Unicode, кажется, работает, но мне действительно нужно понять, почему кодировка по умолчанию не работает.

1 Ответов

Рейтинг:
1

Richard MacCutchan

Excel не делает предположений о пустом пространстве, если вы не импортируете файл и не сообщаете ему, какой разделитель вы используете. Если вы хотите, чтобы это было автоматически, то используйте запятые и сохраните файл с расширением ".csv".