Удобный способ использования формулы для расчета - PullRequest
0 голосов
/ 19 марта 2019

У меня есть объектная модель, для которой мне нужно, чтобы пользователь мог создавать формулы на основе, а также использовать некоторые встроенные функции.Например:

AddWorkDays(MyObject.StartDate, 3)

MyObject имеет различные свойства, к которым пользователь может получить доступ.Нам также может потребоваться сделать некоторые утверждения If / Then.Пользователи хорошо знакомы с формулами Excel, потому что именно так они в настоящее время выполняют свою работу.

Я вижу два возможных варианта:

  1. создать свой собственный анализатор, используя один из многих доступныхБиблиотеки C #
  2. Адаптируйте синтаксический анализатор на основе Excel, чтобы он знал контекст моих объектов.

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

Вариант 2 будетпозволяют пользователю повторно использовать свои существующие знания Excel для создания формул, таких как:

=if(MyObject.Type = "A", AddWorkDays(MyObject.StartDate, 3), AddWorkDays(MyObject.StartDate, 5)

Я вижу, что XLParser рекламируется как отличный инструмент для анализа формул Excel, но, похоже, мне нужно добавить контекст-сознательная часть для чтения и проверки свойств на MyObject.

Любой опыт, примеры, предупреждения и т. д. о том, как действовать, приветствуются

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...