Открытие, расчет, закрытие электронной таблицы MS Excel без установленного Excel [EPPlus] - PullRequest
4 голосов
/ 17 ноября 2011

Я использую библиотеку EPPlus для создания электронных таблиц (отчетов). В моем приложении каждый новый документ сначала открывает более старый отчет, чтобы получить предыдущие результаты. Проблема в том, что при получении данных из ячеек, содержащих формулы - к сожалению, в EPPlus нет вычислительного механизма . Чтобы это работало, мне нужно открыть старый отчет в Excel, сохранить изменения (формулы рассчитаны), а затем новый отчет создан правильно. Если я этого не сделаю, то значения из ячеек формулы будут пустыми.

  1. Есть ли способ симуляции (не делать это вручную, а с помощью кода) открытие, расчет, закрытие таблицы Excel без Excel установлены?
  2. Есть идеи, как это обойти?

Ответы [ 3 ]

4 голосов
/ 23 января 2015

EPPlus может рассчитывать формулы из версии 4. Смотрите эту страницу - https://epplus.codeplex.com/wikipage?title=About%20Formula%20calculation&referringTitle=Documentation

1 голос
/ 23 августа 2012

http://www.microsoft.com/en-us/download/details.aspx?id=5124

OpenXML - это то, что я использовал, когда у меня не было доступа к Office .... вы можете создавать офисные документы, используя его, не имея Office на своей машине .... Для меня была кривая обучения и много гуглят чтобы понять вещи.

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

0 голосов
/ 18 ноября 2013
  1. "В настоящее время Microsoft не рекомендует и не поддерживает автоматизацию приложений Microsoft Office из любых необслуживаемых, неинтерактивных клиентских приложений или компонентов (включая ASP, ASP.NET, DCOM,и NT Services), поскольку Office может демонстрировать нестабильное поведение и / или тупиковую ситуацию при запуске Office в этой среде. " ... но в то же время они дают множество полезных ссылок при манипуляциях с OpenXML - стоит посетить.

  2. http://www.spreadsheetgear.com/ - но это очень дорого, $ 999 / подписка

  3. NPOI (порт C # Apache POI - Java API для документов Microsoft).Версия Java может читать вычисленные значения , поэтому, возможно, версия C # также может.

  4. Пакет Office Integration Pack - не знаю, может ли он рассчитать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...