PageRenderTime 32ms CodeModel.GetById 9ms RepoModel.GetById 0ms app.codeStats 0ms

/src/main/java/Excel/ExcelBetreuerinBetreuungAN.java

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