В настоящее время у нас есть электронная таблица Excel, содержащая большое количество кода VBA. Код VBA отвечает за:
- Управление, преобразование и форматирование данных листа.
- Выполнение вызовов функций C # и C ++ COM. При этом выполняется сортировка данных листа в методах C # / C ++, получение результатов и обновление листа с результатами.
Как и другие служебные коды, если требуется.
Теперь мы хотим добавить новый лист в нашу книгу Excel, и нам не нужен VBA. Мы хотим использовать C #. На мой взгляд, я ограничен следующими опциями:
- Перенести весь проект в VSTO, вручную перекодировав VBA в C # в проекте VSTO.
- Напишите функциональность нового листа в C # и выставьте его через COM. Код C # будет использовать Excel PIA для обновления листа. Листу понадобится очень тонкий слой VBA для маршалинга данных в методы C #.
Я не думаю, что ManagedXLL поможет мне в этом, поскольку мои требования к коду касаются не только обработки данных листа, но и обновления листа результатами.
Пожалуйста, прокомментируйте / попросите более подробную информацию.
Спасибо.