Rynek libek excellowych w .NET jest specyficzny.
A to jedna nie umie starszego xls, a to druga nowszego xlsx, a to - jak zauważasz - opiera się na istnieniu Excella
Spodziewałem się tego typu problemów :)
Wylądowaliśmy na NPOI, która jest przeniesieniem uznanej javowskiej POI
Z tego co się dowiedziałem mogą być problemy ze skryptami w POI. Mimo wszystko dzięki za informację.
Nie wyobrażam sobie trwałej koegzystencji oprogramowania "dużego" na arkuszach w centrum systemu.
Chodzi raczej o niewielki system spełniający kilka wymagań, który z założenia miałby być używany przez niewielką liczbę użytkowników.
Mogą zawierać nie tylko ... ale także bardziej zaawansowane skrypty.
lekko byłbym przestraszony ... trochę bardziej niż lekko
Mam podobne obawy - z tego powodu nie wiem czy w ogóle się za to brać. Na chwilę obecną nie podjąłem decyzji. Być może oleje sprawę i nie będę tego realizował.
Generalnie najbardziej obawiam się tego, że pliki Excela mogą się zmieniać i może dojść do sytuacji, w której wszystko działa na danej libce a później może przestać jak ktoś np. zmieni skrypt w Excelu.
Nie lepiej to przepisać na jakieś sensownego rozwiązanie a ajie bawić się w odpalanie formuł z excel? Napisz jeszcze jak duże są te pliki. W jakiej postaci masz dane wejściowe. I dlaczego tak chcesz to robić?
Byłoby lepiej to przepisać gdyby nie fakt, że pliki Excela są dostarczane od podmiotów zewnętrznych i co jakiś czas aktualizowane. Jeżeli przeanalizuje te wszystkie skrypty i przepisze to na normalny kod w C# to później ni z gruszki ni z pietruszki mogę dostać nowe pliki Excel-a, które obliczają mniej więcej to samo w nieco inny sposób. Wtedy będę musiał analizować ponownie te wszystkie pliki. Podczas przepisywania skryptów na "sensowne rozwiązanie" można też czasem popełnić błąd, który nie zawsze wyjdzie od razu - np. przepisany kod może działać w 99% przypadkach poprawnie i nie działać w 1% przypadków szczególnych.
Pliki są raczej niewielkie jeżeli chodzi o liczbę wierszy. Nie mam ich teraz przed sobą ale myślę, że nie zawierają więcej niż 100 wierszy (mogą zwierać kilka kilkanaście arkuszy w jednym pliku). Dane wejściowe to głównie pola tekstowe / liczbowe oraz coś na wzór kontrolek "combo box" / "select".