2016-12-12 3 views
1

Я пытаюсь импортировать данные excel с помощью SSIS pkg, но он меняет тип данных и преобразует их в другой формат с десятичной точностью.SSIS Excel Data Import - смешанный тип данных в строках

я извлечения данных из заданного диапазона

Пример: Диапазон A5:AB20

Мои данные Колонка A5 (M) = 1.2

SSIS Импорт что-то вроде 120000.0

Я был SSIS в импорт A5 = 1.2

Я попытался это, но терплю неудачу ...

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\ABCDPrograms.xlsx;Extended Properties="EXCEL 12.0 XML;HDR=YES;IMEX=1";

Исходные данные импортируются из какой-то устаревшей системы, и я не могу сделать изменения.

Простой прямой. Спасибо

+0

Что вас означает «провал»? Вы получаете сообщение об ошибке? –

ответ

1

Вы должны использовать Производную преобразованию столбцов в потоках данных задачи между таблицей Excel и базами данных:

Excel файл, я знаю, что вы говорите, ваша электронная таблица показывает 1.2, но я не могу видеть, что в клетка, так он будет выглядеть как большее значение имеет то, что удерживается в клетке:

enter image description here

производной задача преобразования, округляет значение (деленное на 100000) до 1 знак после запятой, заменив значение столбца:

enter image description here

Результирующая запись в базе данных, тип данных этого столбца устанавливается в DECIMAL (8,1) или однако многих предшествующих цифр вам нужно):

enter image description here

Надежда, что помогает

+0

Спасибо TJB - я должен был добавить .. Существует много других данных до строки 5 и после строки 20. Эти значения вычисляются где-то еще на листе (или даже в других листах). Row5-20 «привязан» и показывает 1.2 (если щелкнуть, он покажет формулу со связанными ячейками или листами) Так что на самом деле это что-то вроде того, что когда-либо отображалось (например, 1.2) –

+0

ОК, но это было бы бессмысленно что значение 120k передается в пакет SSIS. Предполагая, что вы правильно идентифицируете столбец из своей таблицы в своем пакете SSIS, и вы правильно установили таблицу SQL, это должно работать. Другая возможность состоит в том, что вы неправильно сопоставляете ячейку с 120k в ней в столбце SQL, когда вы должны выбрать столбец 1.2. Это было бы довольно забавное настраиваемое форматирование в электронной таблице Excel, чтобы получить 120k, чтобы выглядеть как 1.2, а не формула. – TJB

+0

Тестирование вашего решения, даст вам знать результаты .. спасибо TJB –

Смежные вопросы