Skip to content

Commit edcad21

Browse files
committed
New methods to convert one of the POJOs to Excel. Streams are used instead of Collections data structures and not only a File is returned, but also an OutputStream or a byte array
1 parent e58e17f commit edcad21

File tree

18 files changed

+297
-47
lines changed

18 files changed

+297
-47
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package io.github.mbenincasa.javaexcelutils.model.converter;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Getter;
5+
import lombok.Setter;
6+
7+
import java.util.stream.Stream;
8+
9+
@AllArgsConstructor
10+
@Getter
11+
@Setter
12+
public class ObjectToExcel<T> {
13+
14+
private String sheetName;
15+
private Class<T> clazz;
16+
private Stream<T> stream;
17+
}

src/main/java/io/github/mbenincasa/javaexcelutils/model/ExcelCell.java renamed to src/main/java/io/github/mbenincasa/javaexcelutils/model/excel/ExcelCell.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.github.mbenincasa.javaexcelutils.model;
1+
package io.github.mbenincasa.javaexcelutils.model.excel;
22

33
import io.github.mbenincasa.javaexcelutils.exceptions.ReadValueException;
44
import lombok.AllArgsConstructor;

src/main/java/io/github/mbenincasa/javaexcelutils/model/ExcelRow.java renamed to src/main/java/io/github/mbenincasa/javaexcelutils/model/excel/ExcelRow.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.github.mbenincasa.javaexcelutils.model;
1+
package io.github.mbenincasa.javaexcelutils.model.excel;
22

33
import lombok.AllArgsConstructor;
44
import lombok.EqualsAndHashCode;

src/main/java/io/github/mbenincasa/javaexcelutils/model/ExcelSheet.java renamed to src/main/java/io/github/mbenincasa/javaexcelutils/model/excel/ExcelSheet.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.github.mbenincasa.javaexcelutils.model;
1+
package io.github.mbenincasa.javaexcelutils.model.excel;
22

33
import lombok.AllArgsConstructor;
44
import lombok.EqualsAndHashCode;

src/main/java/io/github/mbenincasa/javaexcelutils/model/ExcelWorkbook.java renamed to src/main/java/io/github/mbenincasa/javaexcelutils/model/excel/ExcelWorkbook.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.github.mbenincasa.javaexcelutils.model;
1+
package io.github.mbenincasa.javaexcelutils.model.excel;
22

33
import com.opencsv.CSVReader;
44
import com.opencsv.CSVWriter;

src/main/java/io/github/mbenincasa/javaexcelutils/samples/convertObjectsToExcelFileSample/Main.java

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
package io.github.mbenincasa.javaexcelutils.samples.convertObjectsToExcelFileSample;
22

33
import io.github.mbenincasa.javaexcelutils.enums.Extension;
4+
import io.github.mbenincasa.javaexcelutils.model.converter.ObjectToExcel;
45
import io.github.mbenincasa.javaexcelutils.tools.Converter;
56

67
import java.io.File;
78
import java.time.LocalDate;
89
import java.time.LocalDateTime;
9-
import java.util.ArrayList;
10-
import java.util.Date;
11-
import java.util.LinkedList;
12-
import java.util.List;
10+
import java.util.*;
11+
import java.util.stream.Stream;
1312

1413
public class Main {
1514

@@ -24,11 +23,15 @@ public static void main(String[] args) {
2423
offices.add(new Office("Pero", "Milano", 73));
2524

2625
try {
27-
System.out.println("Start the conversion...");
28-
File report = Converter.objectsToExcel(employees, Employee.class, "./src/main/resources/", "employee", Extension.XLSX, true);
29-
System.out.println("First conversion completed...");
30-
Converter.objectsToExistingExcel(report, offices, Office.class, true);
31-
System.out.println("The file is ready. Path: " + report.getAbsolutePath());
26+
Stream<Employee> employeeStream = employees.stream();
27+
Stream<Office> officeStream = offices.stream();
28+
List<ObjectToExcel<?>> list = new ArrayList<>();
29+
list.add(new ObjectToExcel<>("Employee", Employee.class, employeeStream));
30+
list.add(new ObjectToExcel<>("Office", Office.class, officeStream));
31+
System.out.println("Converting...");
32+
File fileOutput = Converter.objectsToExcelFile(list, Extension.XLSX, "./src/main/resources/result", true);
33+
System.out.println("...completed");
34+
System.out.println("File output: " + fileOutput.getAbsolutePath());
3235
} catch (Exception e) {
3336
System.err.println("There was an error. Check the console");
3437
throw new RuntimeException(e);

src/main/java/io/github/mbenincasa/javaexcelutils/samples/countAllRowsSample/Main.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.github.mbenincasa.javaexcelutils.samples.countAllRowsSample;
22

3-
import io.github.mbenincasa.javaexcelutils.model.ExcelSheet;
4-
import io.github.mbenincasa.javaexcelutils.model.ExcelWorkbook;
3+
import io.github.mbenincasa.javaexcelutils.model.excel.ExcelSheet;
4+
import io.github.mbenincasa.javaexcelutils.model.excel.ExcelWorkbook;
55

66
import java.io.File;
77
import java.util.LinkedList;

src/main/java/io/github/mbenincasa/javaexcelutils/samples/sheetSample/Main.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.github.mbenincasa.javaexcelutils.samples.sheetSample;
22

3-
import io.github.mbenincasa.javaexcelutils.model.ExcelSheet;
4-
import io.github.mbenincasa.javaexcelutils.model.ExcelWorkbook;
3+
import io.github.mbenincasa.javaexcelutils.model.excel.ExcelSheet;
4+
import io.github.mbenincasa.javaexcelutils.model.excel.ExcelWorkbook;
55

66
import java.io.File;
77
import java.util.List;

src/main/java/io/github/mbenincasa/javaexcelutils/samples/writeExcelSample/Main.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package io.github.mbenincasa.javaexcelutils.samples.writeExcelSample;
22

3-
import io.github.mbenincasa.javaexcelutils.model.ExcelCell;
4-
import io.github.mbenincasa.javaexcelutils.model.ExcelRow;
5-
import io.github.mbenincasa.javaexcelutils.model.ExcelSheet;
6-
import io.github.mbenincasa.javaexcelutils.model.ExcelWorkbook;
3+
import io.github.mbenincasa.javaexcelutils.model.excel.ExcelCell;
4+
import io.github.mbenincasa.javaexcelutils.model.excel.ExcelRow;
5+
import io.github.mbenincasa.javaexcelutils.model.excel.ExcelSheet;
6+
import io.github.mbenincasa.javaexcelutils.model.excel.ExcelWorkbook;
77
import org.apache.commons.io.FilenameUtils;
88

99
import java.io.File;

0 commit comments

Comments
 (0)