PageRenderTime 77ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/src/main/java/Excel/ExcelBetreuerinBetreuung.java

https://bitbucket.org/tomas12/laguna
Java | 249 lines | 186 code | 43 blank | 20 comment | 27 complexity | 27f140448c40e5f71bcb89342f4169ba 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.io.FileOutputStream;
  7. import java.io.IOException;
  8. import java.io.File;
  9. import javafx.collections.ObservableList;
  10. import org.apache.poi.hssf.util.CellRangeAddress;
  11. import org.apache.poi.hssf.util.HSSFColor.LAVENDER;
  12. import org.apache.poi.ss.usermodel.HorizontalAlignment;
  13. import org.apache.poi.xssf.usermodel.XSSFCell;
  14. import org.apache.poi.xssf.usermodel.XSSFCellStyle;
  15. import org.apache.poi.xssf.usermodel.XSSFFont;
  16. import org.apache.poi.xssf.usermodel.XSSFRichTextString;
  17. import org.apache.poi.xssf.usermodel.XSSFRow;
  18. import org.apache.poi.xssf.usermodel.XSSFSheet;
  19. import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  20. import Objekte.Betreuerin;
  21. import Objekte.Betreuung;
  22. import Objekte.Familie;
  23. import Objekte.Zahlungen;
  24. import Sort.SortBetreuerinnen;
  25. import datenbank.Datenbank;
  26. public class ExcelBetreuerinBetreuung {
  27. FileOutputStream fileOutputStream = null;
  28. public void erstelleExcel(ArrayList<String> spalten) {
  29. try {
  30. /*fileOutputStream = new FileOutputStream(File.separator + "Users"
  31. + File.separator + "emilmusil" + File.separator + "Desktop"
  32. + File.separator + "Betreuerinnen Betreuung.xlsx");*/
  33. fileOutputStream = new FileOutputStream("Betreuerinnen Betreuung.xlsx");
  34. // Create Sheet.
  35. XSSFWorkbook xssfWorkbook = new XSSFWorkbook();
  36. XSSFSheet sheet = xssfWorkbook
  37. .createSheet("Betreuerinnen");
  38. // Font setting for sheet.
  39. XSSFFont font = xssfWorkbook.createFont();
  40. font.setBoldweight((short) 700);
  41. // Create Styles for sheet.
  42. XSSFCellStyle headerStyle = xssfWorkbook.createCellStyle();
  43. headerStyle.setFillForegroundColor(LAVENDER.index);
  44. headerStyle.setFont(font);
  45. headerStyle.setAlignment(HorizontalAlignment.CENTER);
  46. XSSFCellStyle dataStyle = xssfWorkbook.createCellStyle();
  47. dataStyle.setWrapText(true);
  48. dataStyle.setAlignment(HorizontalAlignment.CENTER);
  49. Datenbank<Betreuerin> db = new Datenbank<Betreuerin>();
  50. ObservableList<Betreuerin> betreuerinnen = db
  51. .filltable(new Betreuerin());
  52. SortBetreuerinnen sb = new SortBetreuerinnen();
  53. betreuerinnen = sb.sortBetreuerinNr(betreuerinnen);
  54. int countBetreuung = 0;// Damit ich weiß, wie of sich Betreuung
  55. // wiederholen müssen
  56. for (Betreuerin bet : betreuerinnen) {
  57. ArrayList<Betreuung> z = bet.getBetreuung();
  58. if (z != null) {
  59. if (z.size() > countBetreuung) {
  60. countBetreuung = z.size();
  61. }
  62. }
  63. }
  64. XSSFRow row = sheet.createRow(0);
  65. sheet.addMergedRegion(new CellRangeAddress(0, // first
  66. // row
  67. // (0-based)
  68. 0, // last row (0-based)
  69. 0, // first column (0-based)
  70. spalten.size() * countBetreuung + 1 // last column (0-based)
  71. ));
  72. XSSFCell headerCell0 = row.createCell(0);
  73. headerCell0.setCellStyle(headerStyle);
  74. headerCell0.setCellValue("Betreuerinnen ZENTRALLISTE");
  75. XSSFRow row1 = sheet.createRow(1);
  76. sheet.addMergedRegion(new CellRangeAddress(1, // first
  77. // row
  78. // (0-based)
  79. 1, // last row (0-based)
  80. 0, // first column (0-based)
  81. 1 // last column (0-based)
  82. ));
  83. XSSFCell betreuerinnenCell = row1.createCell(0);
  84. betreuerinnenCell.setCellStyle(headerStyle);
  85. betreuerinnenCell.setCellValue("Betreuerinnen");
  86. for (int i = 0; i < countBetreuung; i++) {
  87. sheet.addMergedRegion(new CellRangeAddress(1, // first
  88. // row
  89. // (0-based)
  90. 1, // last row (0-based)
  91. 2 + (spalten.size() * i), // first column (0-based)
  92. 1 + (spalten.size() * (i + 1)) // last column (0-based)
  93. ));
  94. XSSFCell celltemp = row1.createCell(2 + (spalten.size() * i));
  95. celltemp.setCellStyle(headerStyle);
  96. celltemp.setCellValue("Betreuung " + (i + 1));
  97. }
  98. // Zweite Zeile
  99. XSSFRow headerRow = sheet.createRow(2);
  100. XSSFCell nrCell = headerRow.createCell(0);
  101. nrCell.setCellStyle(headerStyle);
  102. nrCell.setCellValue("Nr");
  103. XSSFCell nachnameCell = headerRow.createCell(1);
  104. nachnameCell.setCellStyle(headerStyle);
  105. nachnameCell.setCellValue("Nachname");
  106. for (int i = 0; i < countBetreuung; i++) {
  107. int count = (spalten.size() * i) + 2;
  108. for (String spaltenname : spalten) {
  109. XSSFCell headerCell1 = headerRow.createCell(count);
  110. headerCell1.setCellStyle(headerStyle);
  111. headerCell1.setCellValue(spaltenname);
  112. count++;
  113. }
  114. }
  115. for (int i = 0; i < betreuerinnen.size(); i++) {
  116. // Neue Zeile
  117. XSSFRow dataRow = sheet.createRow(i + 3);
  118. Betreuerin b = betreuerinnen.get(i);
  119. ArrayList<Betreuung> betreuungen = b.getBetreuung();
  120. XSSFCell betreuerinnen_cell = dataRow.createCell(0);
  121. betreuerinnen_cell.setCellStyle(dataStyle);
  122. betreuerinnen_cell.setCellValue(new XSSFRichTextString(""
  123. + b.getNummer()));
  124. XSSFCell betreuerinnen_cell1 = dataRow.createCell(1);
  125. betreuerinnen_cell1.setCellStyle(dataStyle);
  126. betreuerinnen_cell1.setCellValue(new XSSFRichTextString(""
  127. + b.getNachname()));
  128. if (betreuungen != null) {
  129. for (int z = 0; z < countBetreuung; z++) {
  130. if (z < betreuungen.size()) {
  131. Betreuung betreuung = betreuungen.get(z);
  132. for (int j = 0; j < spalten.size(); j++) {
  133. // Write data in data row
  134. XSSFCell cell1 = dataRow.createCell(j
  135. + spalten.size() * z + 2);
  136. cell1.setCellStyle(dataStyle);
  137. if (spalten.get(j).equals("Familie Nr")) {
  138. cell1.setCellValue(new XSSFRichTextString(""+
  139. betreuung.getFamilie_nummer()));
  140. }
  141. if (spalten.get(j).equals("Familie Nachname")) {
  142. cell1.setCellValue(new XSSFRichTextString(
  143. betreuung.getFamilie_nachname()));
  144. }
  145. if (spalten.get(j).equals("Angefangen")) {
  146. cell1.setCellValue(new XSSFRichTextString(
  147. betreuung.getAngefangen()));
  148. }
  149. if (spalten.get(j).equals("Aufgehort")) {
  150. cell1.setCellValue(new XSSFRichTextString(
  151. betreuung.getAufgehort()));
  152. }
  153. if (spalten.get(j).equals("Angemeldet")) {
  154. cell1.setCellValue(new XSSFRichTextString(
  155. betreuung.getAngemeldet()));
  156. }
  157. if (spalten.get(j).equals("Abgemeldet")) {
  158. cell1.setCellValue(new XSSFRichTextString(
  159. betreuung.getAbgemeldet()));
  160. }
  161. if (spalten.get(j).equals("Fahrgeld")) {
  162. cell1.setCellValue(new XSSFRichTextString(
  163. betreuung.getFahrgeld()));
  164. }
  165. if (spalten.get(j).equals("Taggeld")) {
  166. cell1.setCellValue(new XSSFRichTextString(
  167. betreuung.getVerdienst()));
  168. }
  169. if (spalten.get(j).equals("SVA")) {
  170. cell1.setCellValue(new XSSFRichTextString(
  171. betreuung.getSva()));
  172. }
  173. if (spalten.get(j).equals("Referenz")) {
  174. cell1.setCellValue(new XSSFRichTextString(
  175. betreuung.getReferenz()));
  176. }
  177. if (spalten.get(j).equals("Information")) {
  178. cell1.setCellValue(new XSSFRichTextString(
  179. betreuung.getInformation()));
  180. }
  181. }
  182. }
  183. }
  184. }
  185. }
  186. for (int i = 0; i <= spalten.size() * countBetreuung + 1; i++) {
  187. sheet.autoSizeColumn(i);
  188. }
  189. // write in excel
  190. xssfWorkbook.write(fileOutputStream);
  191. } catch (Exception e) {
  192. e.printStackTrace();
  193. } finally {
  194. /*
  195. * Close File Output Stream
  196. */
  197. try {
  198. if (fileOutputStream != null) {
  199. fileOutputStream.close();
  200. }
  201. } catch (IOException ex) {
  202. ex.printStackTrace();
  203. }
  204. }
  205. }
  206. }