Как экспортировать SSIS в Microsoft Excel без дополнительного программного обеспечения?

Самое главное, чтобы ваш абонент получил информацию о том, что вызов createUnit() не удался. Вы уже сказали, что null - плохой выбор для этого, и я полностью согласен.

Лучший способ - создать исключение для вашего абонента, но какое именно?

  • Оригинальное?

  • Или вновь -created one?

Какие аспекты мы должны рассмотреть?

  • Читаемость кода ухудшается, если вы загромождаете свой код (непродуктивными) строками обработки ошибок. Вместо этого вы должны сосредоточиться на том, что вы действительно хотите сделать - это достаточно сложно. Поэтому любые попытки / ловли / броски, которых вы можете избежать, не жертвуя надежностью, должны быть удалены.
  • Вашему звонящему нужна информация о том, что вызов не удался, и именно для этого предназначены исключения, поэтому он должен получить его.
  • Одна проблема должна регистрироваться только один раз, на каком-то верхнем уровне или на границах обслуживания. Для этого исключение должно содержать информацию для последующего анализа проблемы. Системные исключения Java уже содержат много полезной информации, но иногда вы хотите добавить больше контекстной информации. Не должно быть необходимости регистрировать ошибки на более низких уровнях.
  • Будет ли вызывающий абонент писать код, который зависит от типа исключения, то есть блоков try / catch с разными реакциями для разных типов исключений? Может ли он даже сделать это? Может / должен ли он понять внутреннюю работу вашего метода достаточно хорошо, чтобы знать, что делать в том или ином случае исключения? Обычно нет. Таким образом, класс исключений обычно не имеет значения.
  • Как приложение в конечном итоге сообщит своему пользователю, что какая-то функция не сработала? Может ли ваше исключение помочь с этой задачей, например, предоставив соответствующее сообщение? Но знаете ли вы, какая формулировка может подойти для вашего абонента? Поэтому я сомневаюсь, что вы можете быть здесь полезны.

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

5
задан 18 revs, 2 users 100% 20 April 2010 в 17:51
поделиться

7 ответов

Ответ в вопросе. Со временем это стало статусом прогресса. Однако есть службы SSRS, которые будут создавать файлы Excel, если вы создаете ТАБЛИЧНЫЕ презентации. Он тоже неплохо работает.

0
ответ дан 13 December 2019 в 19:36
поделиться

Будет ли проще создать книгу Excel в задаче сценария,

3
ответ дан 13 December 2019 в 19:36
поделиться

Можете ли вы заставить SSIS записать данные в лист Excel, начиная с A1, а затем создать другой лист, отформатированный так, как вам нравится, который ссылается на другой лист в A1, но отображает его как A4? То есть на «симпатичном» листе A4 будет означать A1 на листе служб SSIS.

1
ответ дан 13 December 2019 в 19:36
поделиться

Когда Excel является местом назначения в SSIS или целевым типом экспорта в SSRS, у вас нет большого контроля над форматированием и указанием того, как вы хотите последний файл будет. Однажды я написал собственный движок рендеринга Excel для SSRS, так как мой клиент очень строго относился к формату сгенерированного окончательного отчета Excel. Я использовал «Excel xml», чтобы выполнить работу в моем пользовательском рендерере.

1
ответ дан 13 December 2019 в 19:36
поделиться

I understand you would rather not use a script component so perhaps you could create your own custom task using the code that a script contains so that others can use this in the future. Check here for an example.

If this seems feasible the solution I used was CarlosAg Excel Xml Writer Library. With this you can create code which is similar to using the Interop library but produces excel in xml format. This avoids using the Interop object which can sometimes lead to excel processes hanging around.

1
ответ дан 13 December 2019 в 19:36
поделиться

Dr. Зим, я полагаю, что это ты изначально поднял этот вопрос. Я полностью чувствую твою боль. Мне в целом нравятся SSIS, но я абсолютно ненавижу ограниченные инструменты, которые входят в стандартную комплектацию Excel. Все, что я хочу сделать, это выделить полужирным шрифтом запись заголовка или строку 1 в Excel, а не полужирным шрифтом следующие записи. Я не нашел отличного способа сделать это; при условии, что я подхожу к этому без задач сценария или пользовательских расширений, но вы можете подумать, что что-то такое простое будет стандартным вариантом. Похоже, меня могут заставить исследовать и запрограммировать что-то необычное для задачи, которая должна быть такой фундаментальной. Я сам уже потратил на это кучу времени. Кто-нибудь знает, можно ли использовать Excel XML с версиями Excel: 2000 / XP / 2003? Спасибо.

Похоже, меня могут заставить исследовать и запрограммировать что-то необычное для задачи, которая должна быть такой фундаментальной. Я сам уже потратил на это кучу времени. Кто-нибудь знает, можно ли использовать Excel XML с версиями Excel: 2000 / XP / 2003? Спасибо.

Похоже, меня могут заставить исследовать и запрограммировать что-то необычное для задачи, которая должна быть такой фундаментальной. Я сам уже потратил на это кучу времени. Кто-нибудь знает, можно ли использовать Excel XML с версиями Excel: 2000 / XP / 2003? Спасибо.

2
ответ дан 13 December 2019 в 19:36
поделиться

Вместо того, чтобы использовать обходной способ выполнить это упражнение, пытаясь записать данные в определенную ячейку (я), отформатируйте ячейку (я), стилизуйте их, что действительно является очень утомительным усилием, учитывая поддержку SSIS для EXCEL, мы можно сделать это "шаблонным" способом.

предполагают, что нам нужно записать данные в такую-то ячейку со всем настраиваемым форматированием, которое было выполнено для нее. Имейте все форматирование на листе, скажем «SheetActual», тогда как ячейки, которые будут содержать данные, на самом деле будут иметь Lookups / refrences / Formulaes для ссылки на исходные данные, которые SSIS экспортирует на скрытом листе, скажем «SheetMasterHidden» того же Excel. связь. Этот «SheetMasterHidden» по существу будет содержать основные данные в формате по умолчанию, в котором SSIS записывает данные в Excel. Таким образом, вам не нужно беспокоиться о форматировании среды выполнения данных.

Форматирование Excel - это одноразовая работа, «ЕСЛИ» форматирование не меняется очень часто. Если формат изменится и формат будет определен во время выполнения, это решение может пойти не очень хорошо.

1
ответ дан 13 December 2019 в 19:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: