PageRenderTime 276ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/src/main/java/Excel/ExcelBetreuerinZahlungenRD.java

https://bitbucket.org/tomas12/laguna
Java | 187 lines | 138 code | 37 blank | 12 comment | 15 complexity | c8f177445670b0ff0fc60a00a6474cbc 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.Zahlungen;
  21. import Sort.SortDatum;
  22. import datenbank.Datenbank;
  23. public class ExcelBetreuerinZahlungenRD {
  24. FileOutputStream fileOutputStream = null;
  25. public void erstelleExcel(ArrayList<String> spalten, String von, String bis) {
  26. try {
  27. fileOutputStream = new FileOutputStream("Betreuerinnen Rechnungsdatum.xlsx");
  28. // Create Sheet.
  29. XSSFWorkbook xssfWorkbook = new XSSFWorkbook();
  30. XSSFSheet sheet = xssfWorkbook.createSheet("Betreuerinnen");
  31. // Font setting for sheet.
  32. XSSFFont font = xssfWorkbook.createFont();
  33. font.setBoldweight((short) 700);
  34. // Create Styles for sheet.
  35. XSSFCellStyle headerStyle = xssfWorkbook.createCellStyle();
  36. headerStyle.setFillForegroundColor(LAVENDER.index);
  37. headerStyle.setFont(font);
  38. headerStyle.setAlignment(HorizontalAlignment.CENTER);
  39. XSSFCellStyle dataStyle = xssfWorkbook.createCellStyle();
  40. dataStyle.setWrapText(true);
  41. dataStyle.setAlignment(HorizontalAlignment.CENTER);
  42. Datenbank<Betreuerin> db = new Datenbank<Betreuerin>();
  43. ObservableList<Betreuerin> betreuerinnen = db
  44. .filltable(new Betreuerin());
  45. XSSFRow row = sheet.createRow(0);
  46. sheet.addMergedRegion(new CellRangeAddress(0, // first
  47. // row
  48. // (0-based)
  49. 0, // last row (0-based)
  50. 0, // first column (0-based)
  51. spalten.size() // last column (0-based)
  52. ));
  53. XSSFCell headerCell0 = row.createCell(0);
  54. headerCell0.setCellStyle(headerStyle);
  55. headerCell0.setCellValue("Betreuerinnen ZENTRALTABELLE");
  56. XSSFRow headerRow = sheet.createRow(1);
  57. int count = 2;
  58. for (String spaltenname : spalten) {
  59. if (!spaltenname.equals("Rechnungsdatum")) {
  60. XSSFCell headerCell1 = headerRow.createCell(count);
  61. headerCell1.setCellStyle(headerStyle);
  62. headerCell1.setCellValue(spaltenname);
  63. count++;
  64. }
  65. }
  66. XSSFCell headerCell00 = headerRow.createCell(0);
  67. headerCell00.setCellStyle(headerStyle);
  68. headerCell00.setCellValue("Rechnungsdatum");
  69. XSSFCell headerCell1 = headerRow.createCell(1);
  70. headerCell1.setCellStyle(headerStyle);
  71. headerCell1.setCellValue("Betreuerinnen");
  72. SortDatum sort = new SortDatum();
  73. ArrayList<LinkedHashMap<String, Zahlungen>> sortierte_liste = sort
  74. .sortZahlungenBetreuerin("Rechnungsdatum",
  75. betreuerinnen, von, bis);
  76. for (int i = 0; i < sortierte_liste.size(); i++) {
  77. LinkedHashMap<String, Zahlungen> lhm = sortierte_liste.get(i);
  78. Iterator<String> keyIterator2 = lhm.keySet().iterator();
  79. // Das Element von der Liste
  80. String listbetreuerin = keyIterator2.next();
  81. Zahlungen listzahlung = 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(listzahlung
  87. .getRechnungsdatum()));
  88. XSSFCell cell0 = dataRow.createCell(1);
  89. cell0.setCellStyle(dataStyle);
  90. cell0.setCellValue(new XSSFRichTextString(listbetreuerin));
  91. spalten.remove("Rechnungsdatum");
  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("Vermittlungssumme")) {
  97. cell.setCellValue(new XSSFRichTextString(listzahlung
  98. .getVereinbarung()));
  99. }
  100. if (spalten.get(j).equals("Von")) {
  101. cell.setCellValue(new XSSFRichTextString(listzahlung
  102. .getVon()));
  103. }
  104. if (spalten.get(j).equals("Bis")) {
  105. cell.setCellValue(new XSSFRichTextString(listzahlung
  106. .getBis()));
  107. }
  108. if (spalten.get(j).equals("Rechnungsnummer")) {
  109. cell.setCellValue(new XSSFRichTextString(listzahlung
  110. .getRechnungsnummer()));
  111. }
  112. if (spalten.get(j).equals("Vereinbarungsdatum")) {
  113. cell.setCellValue(new XSSFRichTextString(listzahlung
  114. .getVereinbarung_datum()));
  115. }
  116. if (spalten.get(j).equals("Bezahldatum")) {
  117. cell.setCellValue(new XSSFRichTextString(listzahlung
  118. .getBezahlt_datum()));
  119. }
  120. if (spalten.get(j).equals("Bar/Bank")) {
  121. cell.setCellValue(new XSSFRichTextString(listzahlung
  122. .getBar_bank()));
  123. }
  124. if (spalten.get(j).equals("Kontoauszug")) {
  125. cell.setCellValue(new XSSFRichTextString(listzahlung
  126. .getKontoauszug()));
  127. }
  128. }
  129. }
  130. for (int i = 0; i <= spalten.size() + 1; i++) {
  131. sheet.autoSizeColumn(i);
  132. }
  133. // write in excel
  134. xssfWorkbook.write(fileOutputStream);
  135. } catch (Exception e) {
  136. e.printStackTrace();
  137. } finally {
  138. /*
  139. * Close File Output Stream
  140. */
  141. try {
  142. if (fileOutputStream != null) {
  143. fileOutputStream.close();
  144. }
  145. } catch (IOException ex) {
  146. ex.printStackTrace();
  147. }
  148. }
  149. }
  150. }