Существует ли уже существующее решение с использованием c # с помощью Excel Interops для шаблонного Excel, как это делает jXLS? - PullRequest
2 голосов
/ 09 сентября 2010

Мне нужны комментарии, альтернативные решения и рекомендации.

Справочная информация. В настоящее время у нас есть приложение CRUD, построенное на Websphere с использованием структуры Struts.Мы создаем документы Excel с помощью отдельного приложения на C #, которое связано с веб-приложением с помощью элемента управления ActiveX.Мы передаем XML, который содержит элементы для каждого документа.Под каждым документом у нас есть заполнители, которые содержат имя и значение.Приложение для генерации документов получает имя (либо ссылку на ячейку, либо именованный диапазон) и копию шаблона с файлового сервера.Затем он добавляет данные во все указанные местоположения в документе и сохраняет документ в папке «Мои документы» пользователя.Затем он пытается загрузить документы в Documentum.

Текущая проблема: Один из шаблонов вырос до очень больших размеров.По большей части это связано с объемом данных, которые необходимо отобразить.Разбиваем информацию на группы.Каждая из этих группировок должна иметь возможность отображать информацию до 20 штук.Некоторые из этих вкладок также должны отображать до 100 подэлементов для частей.Из-за текущей природы встроенной структуры генерации документов невозможно динамически генерировать различные разделы с переменным количеством элементов.Это недавно начало вызывать проблемы с обслуживанием шаблона.Если нам нужно внести изменения в форматирование, его необходимо реплицировать не только на каждую вкладку, но, возможно, для каждого экземпляра каждой вкладки.

Я начал изучать jXLS и его шаблоныные возможности, но поскольку он основан на java, его будет сложно интегрировать с приложением c #.Другими альтернативами могут быть встраивание jXLS-подобных возможностей в нашу платформу генерации, интеграция сторонней библиотеки в платформу или генерация документов на сервере приложений.Я предпочел бы не изобретать велосипед заново и хотел бы снова использовать библиотеку откуда-либо.

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

1) использовать существующую библиотеку для .NET
2) вызывать библиотеку jXLS из инфраструктуры DocumentGeneration.
3) сборка ввозможности создания шаблонов для Generation Framework
4) Использование jXLS на сервере приложений (в связи с тем, как мы загружаем процесс в Documentum)

Какие рекомендации для этого вы предлагаете?

Ответы [ 2 ]

2 голосов
/ 09 сентября 2010

Я не уверен, насколько это вам поможет, но в прошлом я использовал NPOI для генерации документов XLS, и с ним довольно легко работать.NPOI - это .NET-порт Java POI, POI используется jXLS для внутреннего использования.

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

0 голосов
/ 27 июля 2015

Я использовал Компонент Syncfusion XLSIO для шаблонов Excel по образцу JXLS. Это .net и работает довольно хорошо, но это коммерческий продукт, и лицензирование становится дорогим, если у вас много разработчиков в проекте.

Если вы найдете порт JXLS с открытым исходным кодом, делитесь!

...