Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 SSIS Export to Excel. Number stored as Text  [new]
Игорь Сухов
Member

Откуда: Киев
Сообщений: 33
Всем добрый день. Есть SSIS пакет который выгружает некоторую выборку данных в екселевский файл, проблема состоит в том что те данные которые имеют какой-либо числовой тип, в екселе сохраняются как "Text", и все эти ячейки с числовыми данными подсвечиваются ошибкой "Number Stored As Text", и соответствеено никакие действия с такими данными провести нельзя до тех пор пока ручками не сделаешь "Convert To Number". Уже все перепробовал, и форматы ячеек заранее готовил, и с различными типами данных игрался которые должны выгружаться, ничего не помогает. Буду благодарен за любой совет как побороть эту проблему.
8 фев 10, 14:05    [8311294]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Export to Excel. Number stored as Text  [new]
big-duke
Member

Откуда:
Сообщений: 6638
Игорь Сухов,

что в connectionstring про IMEX ?
8 фев 10, 14:12    [8311355]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Export to Excel. Number stored as Text  [new]
Игорь Сухов
Member

Откуда: Киев
Сообщений: 33
big-duke,
Это свойство вообще не прописано в строке подключения. Вот такая вот у меня строка подключения Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Reports\2010_4\2010_4_Киев.xls;Extended Properties="EXCEL 8.0;HDR=NO";
8 фев 10, 14:35    [8311549]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Export to Excel. Number stored as Text  [new]
big-duke
Member

Откуда:
Сообщений: 6638
Игорь Сухов,

ясно, а что в метаданных SSIS в столбцах получателя ? Там стоит правильный тип данных ?
8 фев 10, 15:21    [8311964]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Export to Excel. Number stored as Text  [new]
Игорь Сухов
Member

Откуда: Киев
Сообщений: 33
big-duke,
да, тип данных числовой. Перепробовал разные форматы как ячеек-получателей так и с помощью "Data Conversion" менял типы выходных данных. Ничего не помогает :(
8 фев 10, 15:31    [8312041]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Export to Excel. Number stored as Text  [new]
big-duke
Member

Откуда:
Сообщений: 6638
Игорь Сухов,

в экселе выгружаете в лист или диапазон ?
8 фев 10, 16:06    [8312369]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Export to Excel. Number stored as Text  [new]
Игорь Сухов
Member

Откуда: Киев
Сообщений: 33
big-duke,
В екселовском файле создан лист, с созданной "шапочкой отчета" (выборка выгружаеться в файл-шаблон), данные выгружаються потоком данных как таблица под эту шапку. Пробовал выгружать эти же данные на другие чистые листы (были предположения что формат записей в шапке отчета влияет на строки ниже) но никакой разницы нет, все тоже самое...
8 фев 10, 16:20    [8312495]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: SSIS Export to Excel. Number stored as Text  [new]
mihami
Member

Откуда:
Сообщений: 79
Решил ли ктонибудь эту задачу?
Уже 2 дня мучаюсь. Напрямую в Excel числа не понимает. Выгружаю в txt а потом в Excel и то же самое.

Спасите плз! Позарез нужно реализовать.
P.S. данные целочисленные и с запятой.
28 сен 11, 16:14    [11349494]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Export to Excel. Number stored as Text  [new]
mihami
Member

Откуда:
Сообщений: 79
mihami,

Решил задачу так.
Мастер импорта\экспорта неверно определяет типы данных в Excel если файл пустой (есть только шапка). Поэтому нужно:
1. Заполнить немного таблицу в Excel и определить типы данных, тут же, и сохранить книгу.
2. Запустить мастер импорта и экспорта служб SSIS.
3. В качестве назначения указать немного заполненный Excel файл. И мастер все сам разрулит. Сделает все преобразования данных.

P.S. Сколько не пытался сделать без масрера - ничего не пашет. Лучше сделать заготовку им, и дальше все, что нужно.
28 сен 11, 17:02    [11350017]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Export to Excel. Number stored as Text  [new]
mihami
Member

Откуда:
Сообщений: 79
Правда всеравно, если нужно писать пустой файл, то даже созданный мастером пакет начинает лагать и писать числа как текст(((
Ап тему!!!
28 сен 11, 17:30    [11350211]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: SSIS Export to Excel. Number stored as Text  [new]
Denis@nk
Member

Откуда:
Сообщений: 178
mihami, добрый день. Нашли как решать проблему?
18 апр 17, 16:00    [20411263]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Export to Excel. Number stored as Text  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3434
Denis@nk
mihami, добрый день. Нашли как решать проблему?

писать в csv
18 апр 17, 16:36    [20411502]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Export to Excel. Number stored as Text  [new]
Yuri Abele
Member

Откуда: Латвия -> Литва -> Тольятти -> Karlsruhe
Сообщений: 1537
По многолетнему опыту импорта из Excel могу сказать одно - НИКОГДА не импортировать типизированные значения - только как строчки.
И только потом уже, внутри ETL-инструмента проверять на совместимость с ожидаемыми типами и подошедшие значения (точнее валидные rows) конвертировать средствами ETL-инструмента.
это потому, что Excel один из самых ненадёжных источников данных - в нем ничего не гарантировано, ни количество полей в строках, ни типы данных - НИЧЕГО!
18 апр 17, 18:06    [20411919]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Export to Excel. Number stored as Text  [new]
Alex_496
Member

Откуда: Moscow https://www.dvbi.ru
Сообщений: 3638
Игорь Сухов,

как помнится, 14 лет назад, в Екселе после строк шапочки сделайте 1-2-3 строчки и вбейте в них нужные данные, в чиословое поле 1,23 (сколь надо знаков после зпт), сохраните этот файл и в него заливайте. Потом через скрипт таск и обьектну модель удалите те фейковые строчки и save as
18 апр 17, 19:12    [20412185]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Export to Excel. Number stored as Text  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3434
Yuri Abele
Excel один из самых ненадёжных источников данных!

не один из, а самый
19 апр 17, 09:48    [20413285]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Export to Excel. Number stored as Text  [new]
JMLabs
Member

Откуда:
Сообщений: 61
Столкнулся с аналогичной проблемой. Есть проект на SSIS, все работает отлично кроме формата выходного xlsx, как и у автора - имею все числа как текст. Пробовал совет со скрытой строкой - максимум что удалось добиться - это получить числа числами а не текстом. При этом форматирование почему-то посередине, числа не валюта, словом какой-то хаос. Как же все-таки сделать "нормальный" эксель? Посоветуйте пожалуйста
22 дек 17, 01:23    [21054088]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Export to Excel. Number stored as Text  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5113
JMLabs,

не используйте дефолтный эксель дестинашион, создавайте эксель "руками" через скрипт компонент.
Working with Excel Files with the Script Task
по фразе "create excel file C#" много чего есть.
22 дек 17, 12:45    [21054929]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Export to Excel. Number stored as Text  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 447
JMLabs,

В похожей ситуации - проблему форматирования чисел как валюты решал через IMEX=1 в строке подключения, скрытую строку с форматами и значениями в Excel и в самом пакете - конверсией типа значения в DT_CY для полей денег.
Совсем красивый Excel штатный SSIS сделать не в состоянии. Если это очень нужно - можно пилить свой Script Destination Component на C#, библиотек много, сам работал с ClosedXML. Или - попробовать платный компонент от CozyRoc, вроде дают потестить, у меня опыта работы с ними нет.
22 дек 17, 12:48    [21054941]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Export to Excel. Number stored as Text  [new]
vborets
Member

Откуда:
Сообщений: 130
Как вариант не выгружать в Excel через SSIS, а загружать Экселем сразу из базы.
28 дек 17, 17:01    [21070378]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Export to Excel. Number stored as Text  [new]
Sintetik
Member

Откуда: SpB->Msk->...
Сообщений: 8970
не использовать SSIS, я Talend использую, вообще нет таких проблем
30 дек 17, 18:52    [21074961]     Ответить | Цитировать Сообщить модератору
Все форумы / OLAP и DWH Ответить