1. Project Clover database Mon Aug 27 2018 22:12:52 BRT
  2. Package net.technearts.rip

File RipExcelReader.java

 

Coverage histogram

../../../img/srcFileCovDistChart10.png
0% of files have more coverage

Code metrics

4
28
4
1
74
59
9
0.32
7
4
2.25

Classes

Class Line # Actions
RipExcelReader 19 28 0% 9 3
0.916666791.7%
 

Contributing tests

This file is covered by 1 test. .

Source view

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   
 
19    public class RipExcelReader {
20   
 
21  1 toggle 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   
 
33  1 toggle public RipExcelReader() {
34   
35    }
36   
 
37  1 toggle public void read() {
38  1 readSheet(workbook.getSheetAt(0));
39    }
40   
 
41  1 toggle 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    // TODO Auto-generated catch block
70  0 e.printStackTrace();
71    }
72    }
73   
74    }