EPPlus меняет прописные буквы на строчные на формулах, обращающихся к различным листам - PullRequest
2 голосов
/ 10 марта 2020

У меня проблема с EPPlus в C#. Я создал документ, и он отлично работает, за исключением одной части. Я пытаюсь создать формулу, которая обращается к данным с другого листа.

summarySheet.Cells["A2"].Formula = "$Details.B19";

Я также пытался

summarySheet.Cells["A2"].Formula = "=$Details.B19";

В ячейке показывалось значение #Name?. Когда я проверил формулу, заглавные буквы были уменьшены до строчных:

=$details.b19

Так что формула не работает. На каждой формуле, которую я пробовал использовать формулу для доступа к другому листу, я получаю один и тот же результат. Однако формулы остаются заглавными для информации о ячейке из того же листа. Я попытался вычесть данные из одного листа из данных этого же листа:

summarySheet.Cells["A2"].Formula = "=$Details.B19 - B20";

И я получил:

=$details.b19 - B20

Таким образом, ошибка капитализации возникает только при доступе к ячейкам с другого листа.

Я предполагаю, что я что-то не так делаю. Мой опыт работы с C# ограничен личными проектами, и я только начал связываться с EPPlus. Спасибо за внимание и заранее спасибо за любую помощь.

1 Ответ

0 голосов
/ 11 марта 2020

Используйте следующее

summarySheet.Cells["A2"].Formula = string.Format("'{0}'!{1}", sourceSheet.Name, sourceSheet.Cells["B19"].Address);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...