61 lines
1.4 KiB
Java
Executable File
61 lines
1.4 KiB
Java
Executable File
package com.plannaplan.configutils;
|
|
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.util.HashMap;
|
|
import java.util.Iterator;
|
|
|
|
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
import org.apache.poi.ss.usermodel.Cell;
|
|
import org.apache.poi.ss.usermodel.Row;
|
|
import com.plannaplan.models.FileData;
|
|
|
|
/**
|
|
* Dupa dupa dupd
|
|
*/
|
|
|
|
public class FileReader {
|
|
|
|
private InputStream fileInputStream;
|
|
|
|
public FileReader(InputStream fileInputStream) {
|
|
this.fileInputStream = fileInputStream;
|
|
}
|
|
|
|
public FileData read() {
|
|
|
|
FileData result = null;
|
|
|
|
try {
|
|
InputStream fis = this.fileInputStream;
|
|
XSSFWorkbook workbook = new XSSFWorkbook(fis);
|
|
XSSFSheet sheet = workbook.getSheetAt(0);
|
|
|
|
Iterator<Row> rowIt = sheet.iterator();
|
|
|
|
Row row = rowIt.next();
|
|
Iterator<Cell> cellIt = row.cellIterator();
|
|
|
|
HashMap<String, Integer> keys = new HashMap<>();
|
|
int index = 0;
|
|
while (cellIt.hasNext()) {
|
|
Cell c = cellIt.next();
|
|
keys.put(c.toString(), index);
|
|
index += 1;
|
|
}
|
|
|
|
rowIt.remove();
|
|
result = new FileData(keys, rowIt);
|
|
workbook.close();
|
|
fis.close();
|
|
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
}
|