Witam,
robie aplikacje, ktorym glownym zadaniem jest eksport danych z bazy do pliku xlsx. W tym rowniez funkcje.
Normalnie wystarczy do Cells[range] wrzucic stringa z np. "=A2+A3". Zadziala okay.
Problem pojawia sie gdy chce uzyc funkcji np. =SUMA(2;3)
Chodzi o kombinacje znaków "=;". Gdy sa te znaki razem to mi wywala blad podczas dodawania wartosci do komorki. Ktos wie jak sie z tym uporac?
attributesList[j].function="=SUMA(2;2)";
oSheet.Cells[i + 1, j + 1].FormulaR1C1 = attributesList[j].function;
Screen błędu: http://screenshot.sh/ofl2nYXqVSbmh
Uwaga! Po kilku h szukania, znalazlem rozwiazanie:
Rozwiazanie #1 zamiast uzywac Formula czy FormulaR1C1 trzeba zastosowac : FormulaLocal
przyklad: oSheet.Cells[1,1].FormulaLocal = "SUMA(2;2)";
Rozwiazanie #2 zamiast " ; " trzeba zastosowac " , ". Niestety przy tym rozwiazaniu, liczby po przecinku beda dzialac niepoprawnie.
przyklad: oSheet.Cells[1,1].FormulaLocal = "SUMA(2;2)".Replace(";", ",");
Problem polega na tym, ze dla Formula:
"Returns or sets a Variant value that represents the object's formula in A1-style notation and in the macro language."