PageRenderTime 42ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/src/main/java/Excel/ExcelFamilieBetreuungAU.java

https://bitbucket.org/tomas12/laguna
Java | 195 lines | 148 code | 35 blank | 12 comment | 17 complexity | 601cce505d4136ec82edbe284c2207af MD5 | raw file
  1. package Excel;
  2. import java.io.File;
  3. import java.io.FileOutputStream;
  4. import java.io.IOException;
  5. import java.util.ArrayList;
  6. import java.util.Iterator;
  7. import java.util.LinkedHashMap;
  8. import javafx.collections.ObservableList;
  9. import org.apache.poi.hssf.util.CellRangeAddress;
  10. import org.apache.poi.hssf.util.HSSFColor.LAVENDER;
  11. import org.apache.poi.ss.usermodel.HorizontalAlignment;
  12. import org.apache.poi.xssf.usermodel.XSSFCell;
  13. import org.apache.poi.xssf.usermodel.XSSFCellStyle;
  14. import org.apache.poi.xssf.usermodel.XSSFFont;
  15. import org.apache.poi.xssf.usermodel.XSSFRichTextString;
  16. import org.apache.poi.xssf.usermodel.XSSFRow;
  17. import org.apache.poi.xssf.usermodel.XSSFSheet;
  18. import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  19. import Objekte.Betreuerin;
  20. import Objekte.Betreuung;
  21. import Objekte.BetreuungFamilie;
  22. import Objekte.Familie;
  23. import Objekte.Zahlungen;
  24. import Sort.SortDatumFamilieBetreuung;
  25. import datenbank.Datenbank;
  26. public class ExcelFamilieBetreuungAU {
  27. FileOutputStream fileOutputStream = null;
  28. public void erstelleExcel(ArrayList<String> spalten, String von, String bis) {
  29. try {
  30. fileOutputStream = new FileOutputStream("Familien Aufgehรถrt.xlsx");
  31. // Create Sheet.
  32. XSSFWorkbook xssfWorkbook = new XSSFWorkbook();
  33. XSSFSheet sheet = xssfWorkbook.createSheet("Familien");
  34. // Font setting for sheet.
  35. XSSFFont font = xssfWorkbook.createFont();
  36. font.setBoldweight((short) 700);
  37. // Create Styles for sheet.
  38. XSSFCellStyle headerStyle = xssfWorkbook.createCellStyle();
  39. headerStyle.setFillForegroundColor(LAVENDER.index);
  40. headerStyle.setFont(font);
  41. headerStyle.setAlignment(HorizontalAlignment.CENTER);
  42. XSSFCellStyle dataStyle = xssfWorkbook.createCellStyle();
  43. dataStyle.setWrapText(true);
  44. dataStyle.setAlignment(HorizontalAlignment.CENTER);
  45. Datenbank<Familie> db = new Datenbank<Familie>();
  46. ObservableList<Familie> familien = db
  47. .filltable(new Familie());
  48. XSSFRow row = sheet.createRow(0);
  49. sheet.addMergedRegion(new CellRangeAddress(0, // first
  50. // row
  51. // (0-based)
  52. 0, // last row (0-based)
  53. 0, // first column (0-based)
  54. spalten.size() // last column (0-based)
  55. ));
  56. XSSFCell headerCell0 = row.createCell(0);
  57. headerCell0.setCellStyle(headerStyle);
  58. headerCell0.setCellValue("Familien ZENTRALTABELLE");
  59. XSSFRow headerRow = sheet.createRow(1);
  60. int count = 2;
  61. for (String spaltenname : spalten) {
  62. if (!spaltenname.equals("Aufgehort")) {
  63. XSSFCell headerCell1 = headerRow.createCell(count);
  64. headerCell1.setCellStyle(headerStyle);
  65. headerCell1.setCellValue(spaltenname);
  66. count++;
  67. }
  68. }
  69. XSSFCell headerCell00 = headerRow.createCell(0);
  70. headerCell00.setCellStyle(headerStyle);
  71. headerCell00.setCellValue("Aufgehort");
  72. XSSFCell headerCell1 = headerRow.createCell(1);
  73. headerCell1.setCellStyle(headerStyle);
  74. headerCell1.setCellValue("Familien");
  75. SortDatumFamilieBetreuung sort = new SortDatumFamilieBetreuung();
  76. ArrayList<LinkedHashMap<String, BetreuungFamilie>> sortierte_liste = sort
  77. .sortBetreuungFamilie("Aufgehรถrt", familien, von, bis);
  78. for (int i = 0; i < sortierte_liste.size(); i++) {
  79. LinkedHashMap<String, BetreuungFamilie> lhm = sortierte_liste.get(i);
  80. Iterator<String> keyIterator2 = lhm.keySet().iterator();
  81. // Das Element von der Liste
  82. String listfamilie = keyIterator2.next();
  83. BetreuungFamilie listBetreuung = lhm.get(listfamilie);
  84. // Neue Zeile
  85. XSSFRow dataRow = sheet.createRow(i + 2);
  86. XSSFCell cell1 = dataRow.createCell(0);
  87. cell1.setCellStyle(dataStyle);
  88. cell1.setCellValue(new XSSFRichTextString(listBetreuung
  89. .getAufgehort()));
  90. XSSFCell cell0 = dataRow.createCell(1);
  91. cell0.setCellStyle(dataStyle);
  92. cell0.setCellValue(new XSSFRichTextString(listfamilie));
  93. spalten.remove("Aufgehort");
  94. for (int j = 0; j < spalten.size(); j++) {
  95. // Write data in data row
  96. XSSFCell cell = dataRow.createCell(j + 2);
  97. cell.setCellStyle(dataStyle);
  98. if (spalten.get(j).equals("Betreuerin Nr")) {
  99. cell.setCellValue(new XSSFRichTextString(""
  100. + listBetreuung.getBetreuerin_nummer()));
  101. }
  102. if (spalten.get(j).equals("Betreuerin Nachname")) {
  103. cell.setCellValue(new XSSFRichTextString(listBetreuung
  104. .getBetreuerin_nachname()));
  105. }
  106. if (spalten.get(j).equals("Angefangen")) {
  107. cell.setCellValue(new XSSFRichTextString(listBetreuung
  108. .getAngefangen()));
  109. }
  110. if (spalten.get(j).equals("Angemeldet")) {
  111. cell.setCellValue(new XSSFRichTextString(listBetreuung
  112. .getAngemeldet()));
  113. }
  114. if (spalten.get(j).equals("Abgemeldet")) {
  115. cell.setCellValue(new XSSFRichTextString(listBetreuung
  116. .getAbgemeldet()));
  117. }
  118. if (spalten.get(j).equals("Fahrgeld")) {
  119. cell.setCellValue(new XSSFRichTextString(listBetreuung
  120. .getFahrgeld()));
  121. }
  122. if (spalten.get(j).equals("Taggeld")) {
  123. cell.setCellValue(new XSSFRichTextString(listBetreuung
  124. .getVerdienst()));
  125. }
  126. if (spalten.get(j).equals("SVA")) {
  127. cell.setCellValue(new XSSFRichTextString(listBetreuung
  128. .getSva()));
  129. }
  130. if (spalten.get(j).equals("Referenz")) {
  131. cell.setCellValue(new XSSFRichTextString(listBetreuung
  132. .getReferenz()));
  133. }
  134. if (spalten.get(j).equals("Information")) {
  135. cell.setCellValue(new XSSFRichTextString(listBetreuung
  136. .getInformation()));
  137. }
  138. }
  139. }
  140. for (int i = 0; i <= spalten.size() + 1; i++) {
  141. sheet.autoSizeColumn(i);
  142. }
  143. // write in excel
  144. xssfWorkbook.write(fileOutputStream);
  145. } catch (Exception e) {
  146. e.printStackTrace();
  147. } finally {
  148. /*
  149. * Close File Output Stream
  150. */
  151. try {
  152. if (fileOutputStream != null) {
  153. fileOutputStream.close();
  154. }
  155. } catch (IOException ex) {
  156. ex.printStackTrace();
  157. }
  158. }
  159. }
  160. }