Требуется передать в отчет список данных для dataSet
запускаю отчет из java-приложения
| Код | public File generateToFile(TargetFormat format, AccountInfo ai, HashMap<OptionsReportEnum, String> enumReportParamsValue, ServletContext sc) throws Exception { File outFile = AccountInfo.generateRndFileName(repFolder, this.getClass().getSimpleName(), format.getFileExt()); IReportEngine engine = null; EngineConfig config; IReportRunnable design = null; try { config = new EngineConfig(); config.setEngineHome("D:/ReportEngine");
Platform.startup(config); IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY); engine = factory.createReportEngine(config); design = engine.openReportDesign("..."); } catch (Exception e) { System.err.println("An error occured during the opening of the report file!"); e.printStackTrace(); System.exit(-1); }
EXCELRenderOption options = new EXCELRenderOption(); //Тут выставляем всякие опции
task.setRenderOption(options);
//Cross our fingers and hope everything is set try {
//выставляем параметры для задачи setTask(task); //Запускаем задачу task.run(); } catch (Exception e) { System.err.println("An error occured while running the report!"); e.printStackTrace(); System.exit(-1); }
engine.destroy(); return outFile; }
|
Пробовала делать стандартным методом, описанным в мануалах, то есть в шаблоне задавать скрипт (это пример на действие open у dataSet):
| Код | import (Packages.....) gettingData = new ClassName(); myrows = gettingData.getRows(); itr = myrows.iterator();
|
НО! В классе ClassName() при выполнении метода getRows() мне требуются данные, которые можно взять ТОЛЬКО из выполняемого приложения (статичесике данные от класса-родителя),а при создании экземпляра класса в шаблоне эти данные не создаются. Могу ли я каким либо образом передать в отчет готовый список данных (таблицу), наподобие как я передаю параметры, которую будет использовать dataSet? |