Как определить, установлены ли основные системы взаимодействия Office в системе?
У меня есть программа, которая в настоящее время выводит Excel через файлы SpreadsheetML. Я строю их, используя потоки. Это очень мало места для Excel; файлы могут быть в 5-6 раз больше других двоичных форматов Excel.
Я хотел бы вывести двоичный формат Excel, такой как.xls или.xlsx, но я не хочу, чтобы установка программы зависела от Office. У некоторых пользователей она может быть установлена, у некоторых - нет. Как я могу справиться с этим изящно? Можно ли не иметь сборку в качестве зависимости, но на основании того, что пользователь, разрешающий двоичный вывод, все еще использует сборку?
Редактировать:
Рассматривая некоторые старые вопросы, я понял, что должен был спросить, как проверить, есть ли Office PIA в системе, использовать их, если таковые имеются, но изящно обработать случай, когда нет, и использовать SpreadsheetML.
2 ответа
Если ваша базовая платформа программирования - Java, вы можете использовать POI. Если это.NET, вы можете использовать NPOI (порт POI, активно разрабатываемый).
Большинство функций поддерживаются этими библиотеками. Вам не нужно устанавливать Office, просто включите соответствующие библиотеки в вашу программу.
баран.
Есть ли у вас особые требования к двоичному файлу по сравнению с другим форматом, который Excel будет хорошо читать? Будет ли работать старый трюк с выводом таблицы HTML с расширением.xls для вашего приложения? Excel будет правильно отображать форматирование, и я думаю, что вы даже можете вставлять формулы в ячейки таблицы, и они будут отображаться и в Excel...