Неожиданные символы в Excel - PullRequest
0 голосов
/ 09 сентября 2009

Я использую ADO.NET для заполнения таблицы данных из листа Excel (xls).

Я получил неожиданные символы. Сначала я думал, что они пришли как-то во время импорта, и поэтому я попытался уничтожить их в программе на C #, но все, что я пытался, сработало.

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

В Excel я также попробовал функцию четкого форматирования. Но это не помогло.

Как отфильтровать входные данные в таблице данных только для ascii символов (от 33 до 127)?

Какую строку я получаю, когда превращаю столбец данных (typeof(System.String)) в строку. Кажется, я не могу определить символы при преобразовании строки в массив символов.

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

Неожиданный символ, который появляется в текстовом файле при выводе таблицы, - ÿ.

Ответы [ 2 ]

0 голосов
/ 12 сентября 2009

Спасибо, Вояджер, за ваш ответ.

Не то чтобы я мог сказать. Из пустых ячеек было несколько нулей, но я избавился от них. Я пытался отфильтровать все \ r, \ n, \ t и другие непечатаемые символы. Я делал подобные вещи на C много раз, но, похоже, я не смог этого сделать в программе на C #.

Наконец, я спустился к самому листу Excel и с помощью макроса vba (модуль или как он там называется) избавился от всех оскорбительных символов (меньше 32 и больше 126). *

Но все данные проходят через программу C #, одна программа против многих электронных таблиц, поэтому, конечно, я бы предпочел исправить проблему в Excel.

0 голосов
/ 09 сентября 2009

Содержат ли ваши исходные поля carriage return ("\r"), newline ("\n"), tab ("\t") символов (Джон Скит отвечая даже на внешний стек переполнение ) или NULL поля?

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

...