Расчеты в Excel с использованием .net

1

Привет, пользователи Stackoverflow

Недавно мне назначили переписать документ excel, который моя компания использует много. Первоначально это было написано в Matlab, но чтобы проще распределить его, они перенесли его, чтобы преуспеть. Это было сделано очень плохо, и поэтому он работал на некоторых компьютерах, а не на других. Поэтому он был переписан в vba. Но теперь они хотят, чтобы он мог выполнять очень сложные вычисления, такие как моделирование методом Монте-Карло. поэтому мы хотим записать его в С#.net по соображениям производительности и развития. на прошлой неделе я попытался и попытался узнать, как это было лучше всего сделано. Я нашел несколько возможных решений, но я не нашел ни единого способа сделать это, что отвечает моим двум простым требованиям:

  1. Пользователь не должен перейти к каким-либо настройкам и добавить что-то, если это нужно сделать, это нужно сделать в коде

  2. Расчеты выполняются нажатием кнопки, поэтому мне нужно иметь возможность получить событие

Я провел так много времени в Интернете, но я точно не знаю, что искать, поэтому все это просто похоже на большую стену необъяснимой, сложной ком-магии.

Итак, каково ваше предложение? Есть ли какое-либо решение, отвечающее этим требованиям? Любые предложения, рекомендации или любая другая помощь будут глубоко оценены.

  • 0
    Так в чем конкретно твой вопрос?
  • 0
    Извините, я надеюсь, что вопрос стал яснее @n.Stenvangn.Stenvang
Показать ещё 1 комментарий
Теги:
excel
com

1 ответ

1
Лучший ответ

Excel не поддерживает С# в макросах, поэтому вы не сможете удовлетворить свое первое требование в отдельной электронной таблице. Если вы хотите установить надстройку в Excel, вы можете рассмотреть Excel-DNA. Это позволит вам скомпилировать.NET DLL, содержащую функции, которые вы хотите добавить в Excel.

Получение события нажатием кнопки - это просто случай добавления кнопки управления на лист и назначение макроса для него. Этот макрос (например, функция VBA) будет запускаться по требованию при нажатии кнопки.

  • 0
    Прошу прощения, я не был в stackoverflow в течение очень долгого времени, поэтому я не так хорош, чтобы задавать вопросы. Это нормально, если мне нужно использовать dll, он должен быть установлен автоматически. Но что вы думаете о VSTO, это возможное решение?
  • 0
    Да, VSTO - определенно возможное решение. Возможно, вы захотите взглянуть на этот вопрос, в котором подробно обсуждаются плюсы и минусы: stackoverflow.com/questions/3840270/…
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню