> \n---------------------------------------------------";
+
+ /**
+ * @param args
+ * @throws ClassNotFoundException
+ * @throws FileNotFoundException
+ * @throws IOException
+ * @throws SQLException
+ */
+ public static void go(String args[])
+ throws
+ ClassNotFoundException,
+ FileNotFoundException,
+ IOException
+ {
+ if (args.length== 0) {
+ throw new IllegalArgumentException("Parameter jrxml-Datei erfoderlich");
+
+ }
+ String jrxmlFileName=args[0];
+ String jasperFileName=de.memtext.util.FileUtils.getFileNameWithoutSuffix(jrxmlFileName)+".jasper";;
+
+ try
+ {
+ long start = System.currentTimeMillis();
+ if (!jrxmlFileName.equals(""))
+ {
+ JasperCompileManager.compileReportToFile(jrxmlFileName,jasperFileName);
+ System.out.println("File "+jasperFileName+" created, compile time : " + (System.currentTimeMillis() - start)+ "ms");
+ }
+
+ }
+ catch (JRException e)
+ {
+ e.printStackTrace();
+ System.exit(1);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.exit(1);
+ }
+
+ System.out.println("Compile erfolgreich beendet");
+
+ }
+
+
+
+ public static void main(String args[]) {
+ try {
+ go(args);
+ } catch (Exception ex) {
+ System.err.println("Aufruf fehlgeschlagen.\n" + ex);
+ ex.printStackTrace();
+ System.exit(1);
+ }
+ }
+
+
+}
diff --git a/src/de/superx/servlet/SuperXmlTabelle.java b/src/de/superx/servlet/SuperXmlTabelle.java
index c4eafba..7107165 100644
--- a/src/de/superx/servlet/SuperXmlTabelle.java
+++ b/src/de/superx/servlet/SuperXmlTabelle.java
@@ -69,6 +69,7 @@ import org.apache.poi.ss.usermodel.CreationHelper;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.xssf.streaming.SXSSFSheet;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.dom4j.DocumentException;
import org.springframework.context.ApplicationContext;
@@ -393,16 +394,19 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
for (int i = 0; i < rsmd.getColumnCount(); i++) {
coltypes[i] = rsmd.getColumnType(i + 1);
+ ((SXSSFSheet) sh).trackColumnForAutoSizing(i);
}
// Title
Row row = sh.createRow(rownum);
+ row.setHeight(Short.parseShort("600"));
Cell cell = row.createCell(0);
cell.setCellValue(maske.getName());
cell.setCellStyle((CellStyle) styles.get("title"));
rownum++;
// Legende
row = sh.createRow(rownum);
+ row.setHeight(Short.parseShort("1000"));
cell = row.createCell(0);
cell.setCellValue(maske.getLegendText(user));
rownum++;
@@ -425,6 +429,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
}
row = sh.createRow(rownum);
for (int cellnum = 0; cellnum < colcount; cellnum++) {
+ //((SXSSFSheet) sh).trackColumnForAutoSizing(cellnum);
cell = row.createCell(cellnum);
Object o = rs.getObject(cellnum + 1);
if (o == null) {
@@ -460,7 +465,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
rownum++;
}
- for (int i = 0; i < rsmd.getColumnCount(); i++) {
+ for (int i = 1; i < rsmd.getColumnCount(); i++) {
sh.autoSizeColumn(i);
}
// System.out.println(t.getSinceStart());
@@ -487,6 +492,10 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
cell = row.createCell(i);
cell.setCellValue((String) headers.get(i));
cell.setCellStyle((CellStyle) styles.get("header"));
+ ((SXSSFSheet) sh).trackColumnForAutoSizing(i);
+
+
+
}
}
@@ -533,10 +542,10 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
cellStyle.setDataFormat(createHelper.createDataFormat().getFormat("dd.mm.yyyy"));
styles.put("date", cellStyle);
cellStyle = wb.createCellStyle();
- cellStyle.setDataFormat(wb.createDataFormat().getFormat("0,00"));
+ cellStyle.setDataFormat(wb.createDataFormat().getFormat("0.00"));
styles.put("double", cellStyle);
cellStyle = wb.createCellStyle();
- cellStyle.setDataFormat(wb.createDataFormat().getFormat("000"));
+ cellStyle.setDataFormat(wb.createDataFormat().getFormat("#"));
styles.put("integer", cellStyle);
Font titleFont = wb.createFont();
@@ -859,7 +868,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
if (contenttype != null && contenttype.startsWith("application/pdf") && maske.isMaxRowsReached()) {
sendBackHtml(de.superx.servlet.SuperXManager.htmlPageHead("Datenproblem")
+ "Achtung
Datenmenge ist zu groß - bitte schränken Sie Ihre Abfrage ggfs. stärker ein