Привет, пользователи Stackoverflow
Недавно мне назначили переписать документ excel, который моя компания использует много. Первоначально это было написано в Matlab, но чтобы проще распределить его, они перенесли его, чтобы преуспеть. Это было сделано очень плохо, и поэтому он работал на некоторых компьютерах, а не на других. Поэтому он был переписан в vba. Но теперь они хотят, чтобы он мог выполнять очень сложные вычисления, такие как моделирование методом Монте-Карло. поэтому мы хотим записать его в С#.net по соображениям производительности и развития. на прошлой неделе я попытался и попытался узнать, как это было лучше всего сделано. Я нашел несколько возможных решений, но я не нашел ни единого способа сделать это, что отвечает моим двум простым требованиям:
Пользователь не должен перейти к каким-либо настройкам и добавить что-то, если это нужно сделать, это нужно сделать в коде
Расчеты выполняются нажатием кнопки, поэтому мне нужно иметь возможность получить событие
Я провел так много времени в Интернете, но я точно не знаю, что искать, поэтому все это просто похоже на большую стену необъяснимой, сложной ком-магии.
Итак, каково ваше предложение? Есть ли какое-либо решение, отвечающее этим требованиям? Любые предложения, рекомендации или любая другая помощь будут глубоко оценены.
Excel не поддерживает С# в макросах, поэтому вы не сможете удовлетворить свое первое требование в отдельной электронной таблице. Если вы хотите установить надстройку в Excel, вы можете рассмотреть Excel-DNA. Это позволит вам скомпилировать.NET DLL, содержащую функции, которые вы хотите добавить в Excel.
Получение события нажатием кнопки - это просто случай добавления кнопки управления на лист и назначение макроса для него. Этот макрос (например, функция VBA) будет запускаться по требованию при нажатии кнопки.