23.04.2018, 14:32 | #1 |
Участник
|
Вывод формулы в Excel
Нужно вывести в Excel формулу с условиями. Вывод делается через dotnet Microsoft.Dynamics.Nav.OpenXml.Spreadsheet.WorksheetWriter. Простые формулы выводятся без проблем, а с условиями (SUMIF, SUMIFS) - падает с ошибкой xml. После изучения вопроса оказалось, что действительно условные формулы поддерживаются криво, и рекомендуется использовать комбинации SUM(IF...
Вот здесь и заковырка. Т.к. формула по диапазону строк, то в экселе это формула массива, и ели вводить её руками, то в конце нужно нажать ctrl+shift+enter. тогда формула обрамляется фигурными скобками и работает как надо: {=СУММ(ЕСЛИ(M11:M14<>0;Q11:Q14;ЕСЛИ(L11:L14<>0;Q11:Q14;ЕСЛИ(K11:K14<>0;Q11:Q14;0))))} Как заставить так же выводится из NAV ? Метод SetCellFormula, похоже, не понимает фигурные скобки, а без них формула дает ошибку. И в том, и в другом случае имеем системную ошибку "Исключение из HRESULT: 0x800A03EC". |
|