1 |
|
package net.technearts.rip; |
2 |
|
|
3 |
|
import java.io.IOException; |
4 |
|
import java.io.InputStream; |
5 |
|
import java.io.OutputStream; |
6 |
|
import java.util.ArrayList; |
7 |
|
import java.util.Iterator; |
8 |
|
import java.util.List; |
9 |
|
|
10 |
|
import org.apache.poi.ss.usermodel.Cell; |
11 |
|
import org.apache.poi.ss.usermodel.Row; |
12 |
|
import org.apache.poi.ss.usermodel.Sheet; |
13 |
|
import org.apache.poi.ss.usermodel.Workbook; |
14 |
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook; |
15 |
|
|
16 |
|
import com.fasterxml.jackson.core.JsonFactory; |
17 |
|
import com.fasterxml.jackson.core.JsonGenerator; |
18 |
|
|
|
|
| 91.7% |
Uncovered Elements: 3 (36) |
Complexity: 9 |
Complexity Density: 0.32 |
|
19 |
|
public class RipExcelReader { |
20 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
|
21 |
1 |
public static RipExcelReader setIO(final InputStream in,... |
22 |
|
final OutputStream out) throws IOException { |
23 |
1 |
final RipExcelReader result = new RipExcelReader(); |
24 |
1 |
result.workbook = new XSSFWorkbook(in); |
25 |
1 |
result.out = out; |
26 |
1 |
return result; |
27 |
|
} |
28 |
|
|
29 |
|
private OutputStream out; |
30 |
|
|
31 |
|
private Workbook workbook; |
32 |
|
|
|
|
| - |
Uncovered Elements: 0 (0) |
Complexity: 1 |
Complexity Density: - |
|
33 |
1 |
public RipExcelReader() {... |
34 |
|
|
35 |
|
} |
36 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
37 |
1 |
public void read() {... |
38 |
1 |
readSheet(workbook.getSheetAt(0)); |
39 |
|
} |
40 |
|
|
|
|
| 88.9% |
Uncovered Elements: 3 (27) |
Complexity: 6 |
Complexity Density: 0.26 |
|
41 |
1 |
public void readSheet(final Sheet sheet) {... |
42 |
1 |
final JsonFactory factory = new JsonFactory(); |
43 |
|
|
44 |
1 |
try (JsonGenerator generator = factory.createGenerator(out)) { |
45 |
1 |
generator.writeStartObject(); |
46 |
1 |
generator.writeArrayFieldStart(sheet.getSheetName()); |
47 |
1 |
final Iterator<Row> i = sheet.rowIterator(); |
48 |
1 |
Row r; |
49 |
1 |
r = i.next(); |
50 |
1 |
Cell header; |
51 |
1 |
final List<String> headers = new ArrayList<>(); |
52 |
1 |
int col = 0; |
53 |
? |
while ((header = r.getCell(col++)) != null) { |
54 |
7 |
headers.add(header.getStringCellValue()); |
55 |
|
} |
56 |
6 |
while (i.hasNext()) { |
57 |
5 |
r = i.next(); |
58 |
5 |
generator.writeStartObject(); |
59 |
5 |
col = 0; |
60 |
5 |
for (final String key : headers) { |
61 |
35 |
generator.writeStringField(key, r.getCell(col++).toString()); |
62 |
|
|
63 |
|
} |
64 |
5 |
generator.writeEndObject(); |
65 |
|
} |
66 |
1 |
generator.writeEndArray(); |
67 |
1 |
generator.writeEndObject(); |
68 |
|
} catch (final IOException e) { |
69 |
|
|
70 |
0 |
e.printStackTrace(); |
71 |
|
} |
72 |
|
} |
73 |
|
|
74 |
|
} |