Существует не так много инструментов корпоративной отчетности с открытым исходным кодом (инструменты отчетности в духе кристальных отчетов).Двумя крупнейшими являются BIRT и JasperReport.JFreeReport (кажется, не работает) и DataVision (без опыта) являются единственными двумя «другими» продуктами с открытым исходным кодом, которые даже близко подходят друг к другу.
Большая часть почти готовых отчетов сосредоточена вокруг генерации графиков или генерации документов.,Хотя последнему может показаться, что это «отчет», некоторые усилия не учитывают диапазон сгенерированных документов (только LaTEX или аналогичный).
Часть проблемы заключается в том, что рассматриваемый тип продукта всегда предоставлял инструмент для создания отчетов методом перетаскивания, потому что этот вид отчетности превратился в собственный, эмулируя обработку текста с помощью шаблонов.Это приводит к вашему другому требованию, программному API.
В конце ваш API собирается сгенерировать шаблон отчета, который затем будет передан в механизм, который объединяет отчет с его данными, форматирует его,и затем оказывает это.Таким образом, такой инструмент, как JasperReports (где шаблон jrxml относительно хорошо определен) звучит не так уж плохо;потому что вы можете просто использовать Java для построения дерева DOM (которое является шаблоном отчета), а затем передать его в механизм (возможно, вам придется сначала сериализовать его в XML, но это может быть хуже).
За исключением того, что вы отказываетесь от JasperReports (и другой крупнейшей платформы отчетов, BIRT) по неизвестным причинам.Хотя могут быть веские причины не использовать определенные доступные продукты (я сам не могу использовать JaserReports из-за некоторых веских причин), если слишком много продуктов считаются непригодными для использования, у вас заканчиваются жизнеспособные разрешенные продукты.
Единственное препятствие - это DataVision, и он генерирует LaTeX или Docbook.Вы можете получить большинство «стандартных» ожидаемых форматов с помощью цепочки сборки Docbook, но это значительно усложнит ваш конвейер рендеринга отчетов, и вам нужно будет хорошо разбираться в стилях Docbook XSLT, чтобы получить любой приличный стиль (типичныйтребование «красоты» для многих корпоративных отчетов).
Удачи, и я надеюсь, что эта информация принесет некоторую пользу.