Я работаю на С# с EPPlus v 4.1, и мне не повезло применить формулу к несмежному блоку ячеек.
Я могу использовать следующий код, чтобы применить формулу к диапазону выбранных смежных ячеек.
Worksheet.Select(new ExcelAddress("T2:T10"));
Worksheet.SelectedRange.Formula = "=if(A2=\"\",\"empty\",\"not empty\")";
Это прекрасно работает, потому что изменяет формулу таким образом, что для ячейки T2 отмечена ячейка A2, а для ячейки T3 отмечена ячейка A3 и т. д.
Однако, когда у меня есть несмежный блок ячеек, применение формулы не удается, и только первая ячейка в выбранном диапазоне получает формулу. Следующий код приводит к тому, что только ячейка T2 получает формулу.
Worksheet.Select(new ExcelAddress("T2,T5,T8,T10"));
Worksheet.SelectedRange.Formula = "=if(A2=\"\",\"empty\",\"not empty\")";
То же самое верно, когда я использую свойство Cells.
// awesome
Worksheet.Cells["T2:T10"].Formula = "=if(A2=\"\",\"empty\",\"not empty\")";
// not so awesome
Worksheet.Cells["T2,T5,T8,T10"].Formula = "=if(A2=\"\",\"empty\",\"not empty\")";
Похоже ли это на ошибку (известную или неизвестную), или это скорее ошибка с моей стороны?
Я также опубликовал это на сайте codeplex на прошлой неделе, но, похоже, это исчезнет. .
Спасибо!