Запятая удаляется в наборе данных после импорта данных из Excel в набор данных - PullRequest
0 голосов
/ 16 декабря 2011

Я использую Vs 2008.

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

Я использовал строку подключения:

string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
            "Data Source=" + "_EXCEL_FILE_NAME_" + ";Extended Properties=\"Excel 8.0; IMEX=1; HDR=YES\""

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

Я искал в Интернете, я узнал, что это своего рода ограничение, выставленное поставщиком Microsoft.jet.oledb.

Пожалуйста, исправьте меня, если я ошибаюсь, и предоставьте мне способ обойти эту проблему.

Ответы [ 3 ]

3 голосов
/ 16 декабря 2011

Запятая на самом деле не является частью данных - она ​​только в представлении данных при представлении в Excel !!

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

1 голос
/ 16 декабря 2011

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

Решения могут быть найдены в следующих потоках SO: Здесь и здесь .

При импорте данных вы можете явно указать числовые форматы через NumberStylesи CultureInfo.Они зависят от культуры и, если вы не укажете формат, могут по умолчанию использовать то, чего вы не ожидали, и привести к значению очень большого числа.

0 голосов
/ 11 января 2012

Чтобы решить эту проблему, на каждом компьютере, где он используется, необходимо выполнить следующее:

  1. Открыть редактор реестра
  2. Найти TypeGuessRows
  3. Изменить0

После этого больше не должно быть проблем ...

...