Сведения о вопросе

Life

08:56, 8th August, 2020

Теги

c#   asp.net   excel   ado.net    

Как сделать так, чтобы ведущие нули могут быть зачищены при импорте excel doc с использованием c#

Просмотров: 553   Ответов: 8

Я могу подключиться к файлу excel и прочитать его без проблем. Но при импорте таких данных, как zipcodes, которые имеют ведущие нули, как предотвратить excel от угадывания типа данных и в процессе удаления ведущих нулей?



  Сведения об ответе

lourence

15:35, 11th August, 2020

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

Provider=Microsoft.ACE.OLEDB.12.0;
    Data Source=c:\path\to\myfile.xlsx;
    Extended Properties=\"Excel 12.0 Xml;IMEX=1\";

Ваш milage может варьироваться в зависимости от установленной версии. Расширенное свойство IMEX=1 указывает Excel, что смешанные данные следует рассматривать как текст.


  Сведения об ответе

#hash

08:09, 21st August, 2020

Префикс с '


  Сведения об ответе

lesha

00:51, 18th August, 2020

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


  Сведения об ответе

SSESION

01:02, 7th August, 2020

Существует Хак реестра, который может заставить Excel читать больше, чем первые 8 строк при чтении столбца, чтобы определить тип:

Изменить

HKLM\Software\Microsoft\Jet\4.0\Engines\Excel\TypeGuessRows 

Для чтения всех строк значение равно 0, а для установки другого числа-этому числу строк.

Не то, чтобы это будет иметь хит производительности slighht.


  Сведения об ответе

ASER

13:26, 3rd August, 2020

Я думаю, что способ сделать это-отформатировать исходный файл excel таким образом, чтобы столбец был отформатирован как текст, а не как общее. Выделите весь столбец и щелкните правой кнопкой мыши и выберите Формат ячеек, выберите текст из списка параметров.

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

Дай мне знать, если это сработает.


  Сведения об ответе

ASER

10:06, 16th August, 2020

Сохранение файла в виде текстового файла с разделителями табуляции также хорошо сработало.

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

префиксация с ' будет работать, есть ли разумный способ сделать это программно, когда данные уже существуют в excel doc?


  Сведения об ответе

SKY

04:25, 23rd August, 2020

Отправка значения 00022556 как '=" 00022556"' с сервера Sql-отличный способ справиться с ведущей нулевой проблемой


  Сведения об ответе

PROGA

06:46, 18th August, 2020

Добавьте "\t " перед строкой. Это заставит строку казаться в новой вкладке.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться