Как получить несогласованные данные между таблицей данных Excel и SQL в Blue Prism? - PullRequest
0 голосов
/ 07 ноября 2018

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

1 Ответ

0 голосов
/ 09 ноября 2018

Есть два варианта, которые я могу придумать из головы:

  1. Простой способ
  2. Способ кодирования

Простым способом было бы перебрать большую из двух коллекций и использовать Filter Collection из Utilities - Collection manipulation в другой коллекции, чтобы увидеть, находится ли строка с теми же значениями, что и в основной коллекции, в другой. коллекция. Этот подход будет работать хорошо, но он потребует ненужного количества этапов, больше времени для сборки и производительность пострадает, если у вас большие коллекции.

Выполнение этого способа кодирования означало бы использование VB.NET или C # и использование команды Except. Здесь даже есть несколько примеров переполнения стека ( пример ). Недостатком этого решения является то, что требуются некоторые базовые знания .NET. Вам необходимо добавить дополнительные ссылки на DLL (System.Data.DataSetExtensions.dll и System.Core.dll) и пространства имен (System.Linq).

Тогда код C # будет:

colOut = col1.AsEnumerable().Except(col2.AsEnumerable(), DataRowComparer.Default).CopyToDataTable();

... где col1 и col2 - входные коллекции, а colOut - выходная коллекция.

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

...