use of eu.esdihumboldt.hale.io.xls.reader.DefaultXLSLookupTableReader in project hale by halestudio.
the class LookupTablePage method readLookupTable.
// read lookup table from file (specified by provider in corresponding
// wizard)
private Map<Value, Value> readLookupTable() {
Map<Value, Value> lookupTable = new HashMap<Value, Value>();
try {
LookupTableImport provider = getWizard().getProvider();
if (provider instanceof CSVLookupReader) {
DefaultCSVLookupReader reader = new DefaultCSVLookupReader();
lookupTable = reader.read(provider.getSource().getInput(), provider.getCharset(), provider.getParameter(CSVConstants.PARAM_SEPARATOR).as(String.class).charAt(0), provider.getParameter(CSVConstants.PARAM_QUOTE).as(String.class).charAt(0), provider.getParameter(CSVConstants.PARAM_ESCAPE).as(String.class).charAt(0), skip, keyColumn.getSelectionIndex(), valueColumn.getSelectionIndex());
} else {
Workbook workbook;
// write xls file
String file = provider.getSource().getLocation().getPath();
String fileExtension = file.substring(file.lastIndexOf("."), file.length());
if (fileExtension.equals(".xls")) {
workbook = new HSSFWorkbook(provider.getSource().getInput());
} else // write xlsx file
if (fileExtension.equals(".xlsx")) {
workbook = new XSSFWorkbook(provider.getSource().getInput());
} else
return new HashMap<Value, Value>();
DefaultXLSLookupTableReader reader = new DefaultXLSLookupTableReader();
lookupTable = reader.read(workbook, skip, keyColumn.getSelectionIndex(), valueColumn.getSelectionIndex(), ignoreEmptyString.getSelection());
}
} catch (IOException e) {
return lookupTable;
}
return lookupTable;
}
Aggregations