Я немного борюсь с этим и не могу найти здесь ответа. Я использую плагин SautinSoft Document для создания слияния почты в MS Word. Источник данных - моя проблема. Мои данные в DataTable, тогда как функция, которую они закодировали для передачи данных, находится в анонимном массиве:

        var dataSource = new[] 
        { new { FirstName = "Hector", LastName = "Stupid", Age = "40" },  
          new { FirstName = "Penelope ", LastName = "Plank", Age = "25" }
        };

Итак, мне нужно пройтись по моему DataTable, заполнив поля в этом формате их значениями.

Затем я выполняю слияние почты следующим образом:

        dc.MailMerge.Execute(dataSource);

Вопрос в том, как? Поскольку массив заполняется статически. Я пробовал много решений, передавая либо DataTable, преобразовывая в словарь, либо .ToArray () через Ienumerable, но, похоже, ничто не воспроизводит этот формат.

Спасибо заранее.

1
Davy C 4 Окт 2018 в 21:23

1 ответ

Лучший ответ

Если я правильно понимаю, вы можете попробовать использовать метод AsEnumerable, позволяющий DataTable использовать IEnumerable<Row>, а затем использовать данные для заполнения select.

datasource
    .AsEnumerable()
    .Select(row => new {
        FirstName = row["FirstName"],
        LastName = row["LastName"],
        Age = row["Age"]
    }).ToArray()
2
D-Shih 4 Окт 2018 в 18:47