Я использую Openxml для создания электронных таблиц.
У меня есть различные ячейки Excel с формулами COUNTIFS, которые не рассчитываются при создании электронной таблицы Excel с использованием C #, но в самих формулах нет ничего плохого - Excel не распознает мою строку как формулу.Причина, по которой я это знаю, заключается в том, что, если я выбрал ячейку и нажал клавишу ввода в поле формулы, он вычислил значение.
То, что делает мой COUNTIFS, считает только в том случае, если в ячейке присутствует «галочка»интервал, и если он соответствует строке и дает процент в результате.Пример формулы такой:
= COUNTIFS (C9: C10, B16, D9: D10, «✓») / D12
Однако я не смогЯ не могу отправить двойные кавычки из моего кода, это приведет к ошибке с формулой, поэтому я решил использовать функцию UNICHAR в Excel.Моя сгенерированная формула такова:
= COUNTIFS (C9: C10, B15, D9: D10, UNICHAR (10003)) / D12
По какой-то причине Excel делаетне автоматически вычислять формулу, даже если в этом нет ничего плохого.
У меня есть похожая формула, которая работает - она обрабатывает только те ячейки, которые имеют значение больше нуля.
= COUNTIFS (C9: C22, B35, D9: D22, КОНКАТЕНАТ (CHAR (62), CHAR (48))) / COUNTIF (D9: D22, КОНКАТЕНАТ (CHAR (62), CHAR (48)))
Опять же, формула повторяет мою ту же проблему: я не могу отправить двойные кавычки, но символы 62 и 48 имеют> 0 соответственно.Это отлично работает.Excel вычисляет его.
Теперь, если я изменю свой ввод данных, чтобы поставить «v» вместо галочки в ячейках, и сделаю
= COUNTIFS (C9: C10,B15, D9: D10, CHAR (118)) / D12
формула работает.Это говорит о том, что проблема с UNICHAR, по какой-то причине использование этой функции заставляет Excel не автоматически вычислять ее.
Кто-нибудь испытывал что-то подобное?
С точки зрения кода, я пытался сделать
spreadSheetDocument.WorkbookPart.Workbook.CalculationProperties = new CalculationProperties()
{
ForceFullCalculation = true,
FullCalculationOnLoad = true
};
spreadSheetDocument.WorkbookPart.Workbook.Save();
безуспешно.
Какая глупость, любая помощь будет принята с благодарностью.