diff options
author | Abyss777 <abyss@fox5.ru> | 2017-03-16 10:30:19 +0500 |
---|---|---|
committer | Abyss777 <abyss@fox5.ru> | 2017-03-16 10:30:19 +0500 |
commit | f7a668371769a7b4c176e57626f23314e3838e1c (patch) | |
tree | 0ba392c2832b946cd678fb8614b13819d0b2021a /src/org/traccar/reports/Events.java | |
parent | 975d2850e245c880e9105b68746cb535ea09fa90 (diff) | |
download | trackermap-server-f7a668371769a7b4c176e57626f23314e3838e1c.tar.gz trackermap-server-f7a668371769a7b4c176e57626f23314e3838e1c.tar.bz2 trackermap-server-f7a668371769a7b4c176e57626f23314e3838e1c.zip |
Share code in excel reports
Diffstat (limited to 'src/org/traccar/reports/Events.java')
-rw-r--r-- | src/org/traccar/reports/Events.java | 29 |
1 files changed, 2 insertions, 27 deletions
diff --git a/src/org/traccar/reports/Events.java b/src/org/traccar/reports/Events.java index e5acd28f9..0706f1382 100644 --- a/src/org/traccar/reports/Events.java +++ b/src/org/traccar/reports/Events.java @@ -26,18 +26,8 @@ import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.Iterator; -import java.util.List; -import java.util.Locale; import org.apache.poi.ss.util.WorkbookUtil; -import org.apache.velocity.tools.generic.DateTool; -import org.jxls.area.Area; -import org.jxls.builder.xls.XlsCommentAreaBuilder; -import org.jxls.common.CellRef; -import org.jxls.formula.StandardFormulaProcessor; -import org.jxls.transform.Transformer; -import org.jxls.transform.poi.PoiTransformer; -import org.jxls.util.TransformerFactory; import org.traccar.Context; import org.traccar.model.Device; import org.traccar.model.Event; @@ -113,28 +103,13 @@ public final class Events { String templatePath = Context.getConfig().getString("report.templatesPath", "templates/export/"); try (InputStream inputStream = new FileInputStream(templatePath + "/events.xlsx")) { - org.jxls.common.Context jxlsContext = PoiTransformer.createInitialContext(); + org.jxls.common.Context jxlsContext = ReportUtils.initializeContext(userId); jxlsContext.putVar("devices", devicesEvents); jxlsContext.putVar("sheetNames", sheetNames); jxlsContext.putVar("geofenceNames", geofenceNames); jxlsContext.putVar("from", from); jxlsContext.putVar("to", to); - jxlsContext.putVar("distanceUnit", ReportUtils.getDistanceUnit(userId)); - jxlsContext.putVar("speedUnit", ReportUtils.getSpeedUnit(userId)); - jxlsContext.putVar("webUrl", Context.getVelocityEngine().getProperty("web.url")); - jxlsContext.putVar("dateTool", new DateTool()); - jxlsContext.putVar("timezone", ReportUtils.getTimezone(userId)); - jxlsContext.putVar("locale", Locale.getDefault()); - jxlsContext.putVar("bracketsRegex", "[\\{\\}\"]"); - Transformer transformer = TransformerFactory.createTransformer(inputStream, outputStream); - List<Area> xlsAreas = new XlsCommentAreaBuilder(transformer).build(); - for (Area xlsArea : xlsAreas) { - xlsArea.applyAt(new CellRef(xlsArea.getStartCellRef().getCellName()), jxlsContext); - xlsArea.setFormulaProcessor(new StandardFormulaProcessor()); - xlsArea.processFormulas(); - } - transformer.deleteSheet(xlsAreas.get(0).getStartCellRef().getSheetName()); - transformer.write(); + ReportUtils.processTemplateWithSheets(inputStream, outputStream, jxlsContext); } } } |