Если вы спрашиваете о том, как автоматизировать это в Excel, то одним из вариантов является использование API-интерфейсов Office Interop для Excel с вашего любимого языка .NET (C # действительно легко использовать для такого рода задач).У Dynamo есть клиентские SDK для .NET, что также позволяет относительно легко запрашивать исходную таблицу.
Для .Net SDK для Dynamo начните здесь: https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/dynamodb-intro.html
Для автоматизации Office выесть две опции:
- Вы можете написать приложение .Net, которое будет взаимодействовать с Excel и обработать файл, читая из Dynamo
- Вы можете попробовать использовать функции автоматизации из Excel черезсценарии (но я не уверен, насколько хорошо это будет работать с внешней зависимостью от AWS SDK)
Для последнего вы можете начать здесь: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/interop/how-to-access-office-onterop-objects
Есть многопримеров для автоматизации Excel с использованием C #.Если вы обнаружите, что застряли на чем-то конкретном, не стесняйтесь спрашивать здесь о SO, но чем более сфокусирован этот вопрос, тем быстрее и лучше вы получите ответы.
Что касается подхода для вашего конкретного случаяЗадача, я бы:
- создать консольное приложение, которое открывает документ Excel (рабочую книгу), который вы хотите редактировать
- перечислите листы и выберите тот, который вам нужно обновить (предположительносначала?!)
- , затем для каждой строки в таблице считайте четное значение из соответствующей ячейки
- , сделайте запрос DynamoDB и получите данные, необходимые для этого события
- обновить ячейки для этой строки
- повторять это для всех строк, пока вы не закончите
В качестве потенциальной оптимизации, если в «Динамо» не так много записей(10 000 - довольно низкое число), я бы сначала посмотрел на сканирование таблицы «Динамо» в памяти, а затем выполнял поиск в памяти.Это имеет дополнительное преимущество, что это будет значительно дешевле.Сканирование всех 10 тыс. Элементов и хранение в памяти обычно обходится в 15-20 раз дешевле, чем выполнение отдельных запросов Get для каждого элемента.