List of usage examples for org.apache.poi.ss.usermodel Cell getRowIndex
int getRowIndex();
From source file:gov.nih.nci.cananolab.util.ExcelParser.java
License:BSD License
public void printSheet(Sheet sheet) { for (Row row : sheet) { for (Cell cell : row) { CellReference cellRef = new CellReference(cell.getRowIndex(), cell.getColumnIndex()); System.out.print(cellRef.formatAsString()); System.out.print(" - "); switch (cell.getCellType()) { case Cell.CELL_TYPE_STRING: System.out.println(cell.getRichStringCellValue().getString()); break; case Cell.CELL_TYPE_NUMERIC: if (DateUtil.isCellDateFormatted(cell)) { System.out.println(cell.getDateCellValue()); } else { System.out.println(cell.getNumericCellValue()); }//from ww w.j a va 2 s .c o m break; case Cell.CELL_TYPE_BOOLEAN: System.out.println(cell.getBooleanCellValue()); break; case Cell.CELL_TYPE_FORMULA: System.out.println(cell.getCellFormula()); break; default: System.out.println(); } } } }
From source file:icalendarconverter.ExcelConverter.java
public List<ScheduleClass> readExcel() throws FileNotFoundException, IOException { ArrayList<ScheduleClass> scheduleList = new ArrayList<>(); FileInputStream fis = new FileInputStream(pathFile); XSSFWorkbook wb = new XSSFWorkbook(fis); XSSFSheet sheet = wb.getSheetAt(0);//from w w w .j a va2 s . c om Iterator<Row> rowIterator = sheet.iterator(); CellRangeAddress add; int colNoIdx = 0; ArrayList<String> dosen = new ArrayList<>(); ArrayList<Integer> idxDosen = new ArrayList<>(); ArrayList<Integer> colDosen = new ArrayList<>(); ArrayList<String> location = new ArrayList<>(); int idxNumber = 0; ArrayList<Integer> locationIdx = new ArrayList<>(); outerloop: for (int j = 0; j < sheet.getLastRowNum(); j++) { row = sheet.getRow(j); for (int f = 0; f < row.getLastCellNum(); f++) { Cell cell = row.getCell(f); if (cell.getCellType() == Cell.CELL_TYPE_STRING && cell.getStringCellValue().equalsIgnoreCase("No.")) { rowNoIdx = j; colNoIdx = cell.getColumnIndex(); } else if (cell.getCellType() == Cell.CELL_TYPE_STRING && cell.getStringCellValue().equalsIgnoreCase("Nama Mata Kuliah")) { colMatkulIdx = cell.getColumnIndex(); break outerloop; } } } //System.out.println("col matkul = "+colMatkulIdx); System.out.println("sheet = " + sheet.getLastRowNum()); outerloop2: for (int i = 0; i < sheet.getLastRowNum(); i++) { outerloop: for (int j = 0; j < row.getLastCellNum(); j++) { row = sheet.getRow(i); if (row == null) { i = sheet.getLastRowNum(); break outerloop2; } Cell cell = row.getCell(j); FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator(); if (cell.getColumnIndex() == colNoIdx && i > rowNoIdx + 3 && cell.getCellType() != Cell.CELL_TYPE_BLANK && evaluator.evaluate(cell).getCellType() != Cell.CELL_TYPE_NUMERIC) { i = sheet.getLastRowNum(); break outerloop2; } if (cell.getColumnIndex() == colNoIdx && i > rowNoIdx + 3 && cell.getCellType() == Cell.CELL_TYPE_BLANK) { i = i + 1; break outerloop; } if (cell.getRowIndex() > rowNoIdx + 1 && cell.getColumnIndex() == (colNoIdx + 1)) { if (cell.getCellType() == Cell.CELL_TYPE_BLANK) { i = i + 1; break outerloop; } String delims = "[,. ]"; String[] sumary = cell.getStringCellValue().split(delims); for (int l = 0; l < sumary.length; l++) { if (sumary[l].equalsIgnoreCase("Mrt")) { sumary[l] = "3"; } if (sumary[l].equalsIgnoreCase("Okt")) { sumary[l] = "10"; } if (sumary[l].equalsIgnoreCase("`16")) { sumary[l] = "2016"; } } lc = LocalDate.of(Integer.parseInt(sumary[5]), Integer.parseInt(sumary[3]), Integer.parseInt(sumary[2])); // System.out.println("LC = "+lc); // sp = new SimpleDateFormat("EEEE, MMMM d, yyyy"); // String b = sumary[3] + "/" + sumary[2] + "/" + sumary[5]; // date = new Date(b); //System.out.println(sp.format(date)); } if (cell.getRowIndex() > rowNoIdx + 1 && cell.getColumnIndex() == (colNoIdx + 2)) { if (cell.getStringCellValue().equalsIgnoreCase("LIBUR")) { i = i + 1; break outerloop; } else { if (cell.getStringCellValue().equalsIgnoreCase("Shift 1") || cell.getStringCellValue().equalsIgnoreCase("Shift 2")) { CellReference cr = new CellReference(cell.getRowIndex() + 1, cell.getColumnIndex()); Row row2 = sheet.getRow(cr.getRow()); Cell c = row2.getCell(cr.getCol()); String delimsJam = "[-]"; String[] arrJam = c.getStringCellValue().split(delimsJam); for (int k = 0; k < arrJam.length; k++) { arrJam[k] = arrJam[k].replace('.', ':'); } // indoFormatter = DateTimeFormatter // .ofLocalizedTime(FormatStyle.SHORT) // .withLocale(Locale.getDefault()); //System.out.println("I3 = " + i); lt = LocalTime.parse(arrJam[0]); //System.out.println(lt+"-"+lt.plusHours(2)); } else { String delimsJam = "[-]"; String[] arrJam = cell.getStringCellValue().split(delimsJam); for (int k = 0; k < arrJam.length; k++) { arrJam[k] = arrJam[k].replace('.', ':'); } // indoFormatter = DateTimeFormatter // .ofLocalizedTime(FormatStyle.SHORT) // .withLocale(Locale.getDefault()); //System.out.println("I3 = " + i); lt = LocalTime.parse(arrJam[0]); //System.out.println(lt+"-"+lt.plusHours(2)); } } } if (cell.getRowIndex() > rowNoIdx + 1 && cell.getColumnIndex() == colMatkulIdx) { subject = cell.getStringCellValue(); //System.out.println("Subject = "+subject); } if (cell.getRowIndex() > rowNoIdx && cell.getColumnIndex() >= colMatkulIdx + 1 && cell.getColumnIndex() < row.getLastCellNum()) { if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) { // location.add(String.valueOf((int)cell.getNumericCellValue())); // locationIdx.add(cell.getColumnIndex()); } if (cell.getCellType() == Cell.CELL_TYPE_STRING) { if (cell.getStringCellValue().contains(":")) { String[] splt = cell.getStringCellValue().split(":"); String[] splt2 = splt[1].split(","); for (int l = 0; l < splt2.length; l++) { dosen.add(splt2[l].trim()); location.add("Lab"); //System.out.println(splt2[l] + "= lab"); } } else { CellReference cr = new CellReference(1, cell.getColumnIndex()); Row row2 = sheet.getRow(cr.getRow()); Cell c = row2.getCell(cr.getCol()); if (!cell.getStringCellValue().isEmpty()) { dosen.add(cell.getStringCellValue().trim()); location.add(String.valueOf((int) c.getNumericCellValue()).trim()); } //System.out.print(cell.getStringCellValue() + " Ruang =" + (int) c.getNumericCellValue() + " "); } } if (cell.getCellType() == Cell.CELL_TYPE_BLANK && cell.getRowIndex() > 2) { CellReference cr = new CellReference(cell.getRowIndex() - 1, cell.getColumnIndex()); Row row2 = sheet.getRow(cr.getRow()); Cell c = row2.getCell(cr.getCol()); CellReference cr2 = new CellReference(1, cell.getColumnIndex()); Row row3 = sheet.getRow(cr2.getRow()); Cell c2 = row3.getCell(cr2.getCol()); if (c.getStringCellValue().contains(":")) { String[] splt = c.getStringCellValue().split(":"); String[] splt2 = splt[1].split(","); for (int l = 0; l < splt2.length; l++) { dosen.add("".trim()); location.add(""); //System.out.println(splt2[l] + "= lab"); } } else { if (!c.getStringCellValue().isEmpty()) { dosen.add(""); location.add(""); } //System.out.print(c.getStringCellValue() + " Ruang = " + (int) c2.getNumericCellValue() + " "); } } // scheduleList.add(new ScheduleClass(lc, lt, lt, subject, dosen.get(j), location.get(j))); } // System.out.println("lc = "+lc+",lt = "+lt+",subject = "+subject+",dosen = "+dosen.get(i)+",location = "+location.get(i)); // scheduleList.add(new ScheduleClass(lc, lt, lt, subject, dosen.get(j), location.get(j))); } for (int j = 0; j < dosen.size(); j++) { //System.out.println("lc = "+lc+",lt = "+lt+",subject = "+subject+",dosen = "+dosen.get(j)+",location = "+location.get(j)); scheduleList .add(new ScheduleClass(lc, lt, lt.plusHours(2), subject, dosen.get(j), location.get(j))); } dosen.clear(); location.clear(); } return mergeringList(scheduleList); }
From source file:in.expertsoftware.colorcheck.VerifyTokens.java
/** * Verify_tokens function takes two parameters first is number of sheets present in workbook and second is an instance of workbook. * it process each sheet individually and verifying the tokens position as well check tokens are present or not and error is handled by error model. * @param NumberOfSheets Number of Sheet present In this workbook * @param workbook an instance of XSSFWorkbook * @return ArrayList of type Error and Model * /* www. jav a2 s.co m*/ */ public ArrayList verify_tokens(int NumberOfSheets, XSSFWorkbook workbook) { ArrayList<ErrorModel> errorModelList = new ArrayList<ErrorModel>(); ArrayList<TokenModel> tokenModelList = new ArrayList<TokenModel>(); ArrayList<String> metadataCount = new ArrayList<String>(); ArrayList errorAndTokenList = new ArrayList(); for (int i = 0; i < NumberOfSheets; i++) { XSSFSheet Sheet = workbook.getSheetAt(i); if (containSheetName(Sheet.getSheetName())) { Iterator<Row> rowIterator = Sheet.iterator(); while (rowIterator.hasNext()) { Row row = rowIterator.next(); Iterator<Cell> cellIterator = row.iterator(); while (cellIterator.hasNext()) { Cell cell = cellIterator.next(); if (cell.getColumnIndex() == 0) { String key = cell.getStringCellValue(); switch (Sheet.getSheetName()) { case "BasicInfo": if (!(cell.getCellType() == Cell.CELL_TYPE_BLANK)) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Vulnerable Token present at"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } break; case "User_Financial_Input": switch (key.trim()) { case "SOUFI": TokenModel tknmodel = new TokenModel(); if (metadataCount.contains("SOUFI")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("SOUFI"); } break; case "EOUFI": tknmodel = new TokenModel(); if (metadataCount.contains("EOUFI")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("EOUFI"); } break; case "UFCS1": tknmodel = new TokenModel(); if (metadataCount.contains("UFCS1")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("UFCS1"); } break; case "UFCS2": tknmodel = new TokenModel(); if (metadataCount.contains("UFCS2")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("UFCS2"); } break; } break; case "User_Operation_Input": switch (key.trim()) { case "SOUOI": TokenModel tknmodel = new TokenModel(); if (metadataCount.contains("SOUOI")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("SOUOI"); } break; case "EOUOI": tknmodel = new TokenModel(); if (metadataCount.contains("EOUOI")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("EOUOI"); } break; } break; case "Unit_Map": break; case "Operation_Standard": switch (key.trim()) { case "SOOI": TokenModel tknmodel = new TokenModel(); if (metadataCount.contains("SOOI")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("SOOI"); } break; case "EOOI": tknmodel = new TokenModel(); if (metadataCount.contains("EOOI")) { ErrorModel errmodel = new ErrorModel(); CellReference cellRef = new CellReference(cell); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef1 = new CellReference(cell); errmodel.setCell_ref(cellRef1.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("EOOI"); } break; case "SOOCS": tknmodel = new TokenModel(); if (metadataCount.contains("SOOCS")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("SOOCS"); } break; case "EOOCS": tknmodel = new TokenModel(); if (metadataCount.contains("EOOCS")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("EOOCS"); } break; case "SOOWD": tknmodel = new TokenModel(); if (metadataCount.contains("SOOWD")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("SOOWD"); } break; case "EOOWD": tknmodel = new TokenModel(); if (metadataCount.contains("EOOWD")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("EOOWD"); } break; } break; case "Financial_Standard": switch (key.trim()) { case "SOFI": TokenModel tknmodel = new TokenModel(); if (metadataCount.contains("SOFI")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("SOFI"); } break; case "EOFI": tknmodel = new TokenModel(); if (metadataCount.contains("EOFI")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("EOFI"); } break; case "FCS1": tknmodel = new TokenModel(); if (metadataCount.contains("FCS1")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("FCS1"); } break; case "FCS2": tknmodel = new TokenModel(); if (metadataCount.contains("FCS2")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("FCS2"); } break; case "SOFWD": tknmodel = new TokenModel(); if (metadataCount.contains("SOFWD")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("SOFWD"); } break; case "EOFWD": tknmodel = new TokenModel(); if (metadataCount.contains("EOFWD")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("EOFWD"); } break; case "SOFCP": tknmodel = new TokenModel(); if (metadataCount.contains("SOFCP")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("SOFCP"); } break; case "EOFCP": tknmodel = new TokenModel(); if (metadataCount.contains("EOFCP")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("EOFCP"); } break; } break; case "CrossCheck": switch (key.trim()) { case "SOCCK": TokenModel tknmodel = new TokenModel(); if (metadataCount.contains("SOCCK")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("SOCCK"); } break; case "EOCCK": tknmodel = new TokenModel(); if (metadataCount.contains("EOCCK")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("EOCCK"); } break; } break; case "Reporting_Qtr": switch (key.trim()) { case "SORQ": TokenModel tknmodel = new TokenModel(); if (metadataCount.contains("SORQ")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("SORQ"); } break; case "EORQ": tknmodel = new TokenModel(); if (metadataCount.contains("EORQ")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("EORQ"); } break; } break; case "Reporting_Year": switch (key.trim()) { case "SORY": TokenModel tknmodel = new TokenModel(); if (metadataCount.contains("SORY")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("SORY"); } break; case "EORY": tknmodel = new TokenModel(); if (metadataCount.contains("EORY")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("EORY"); } break; } break; case "Chart_Qtr": switch (key.trim()) { case "SOOCQ": TokenModel tknmodel = new TokenModel(); if (metadataCount.contains("SOOCQ")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("SOOCQ"); } break; case "EOOCQ": tknmodel = new TokenModel(); if (metadataCount.contains("EOOCQ")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("EOOCQ"); } break; case "SOFCQ": tknmodel = new TokenModel(); if (metadataCount.contains("SOFCQ")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("SOFCQ"); } break; case "EOFCQ": tknmodel = new TokenModel(); if (metadataCount.contains("EOFCQ")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("EOFCQ"); } break; } break; case "Chart_Year": switch (key.trim()) { case "SOOCY": TokenModel tknmodel = new TokenModel(); if (metadataCount.contains("SOOCY")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("SOOCY"); } break; case "EOOCY": tknmodel = new TokenModel(); if (metadataCount.contains("EOOCY")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("EOOCY"); } break; case "SOFCY": tknmodel = new TokenModel(); if (metadataCount.contains("SOFCY")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("SOFCY"); } break; case "EOFCY": tknmodel = new TokenModel(); if (metadataCount.contains("EOFCY")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("EOFCY"); } break; } break; case "Summary": switch (key.trim()) { case "SOS": TokenModel tknmodel = new TokenModel(); if (metadataCount.contains("SOS")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("SOS"); } break; case "EOS": tknmodel = new TokenModel(); if (metadataCount.contains("EOS")) { ErrorModel errmodel = new ErrorModel(); errmodel.setSheet_name(Sheet.getSheetName()); CellReference cellRef = new CellReference(cell); errmodel.setCell_ref(cellRef.formatAsString()); errmodel.setRow(cell.getRowIndex() + 1); errmodel.setCol(cell.getColumnIndex() + 1); errmodel.setError_desc("Token Present More Than One Time"); errmodel.setError_level("Error"); errorModelList.add(errmodel); } else { tknmodel.setSheet_name(Sheet.getSheetName()); tknmodel.setToken_name(key.trim()); tknmodel.setRow_no((cell.getRowIndex() + 1)); tokenModelList.add(tknmodel); metadataCount.add("EOS"); } break; } break; case "MetaDataSheet": break; } } } } } else { System.out.println("workbook have another sheet"); ErrorModel errmodel = new ErrorModel(); errmodel.setError_desc("This is an extra sheet in this workbook"); errmodel.setSheet_name(Sheet.getSheetName()); //errmodel.setRow(-2); errmodel.setError_level("Warning"); errorModelList.add(errmodel); } } //for checking every tocken is present or not; errorModelList.addAll(verifyAllTokenPresent(metadataCount)); errorAndTokenList.add(errorModelList); errorAndTokenList.add(tokenModelList); return errorAndTokenList; }
From source file:kupkb_experiments.ExperimentSpreadSheetParser.java
License:Open Source License
public ExperimentSpreadSheetParser(File file) { keyValue = new HashMap<String, List<Cell>>(); compoundAttributeToColumn = new HashMap<String, Integer>(); String expId = "exp_" + String.valueOf(System.currentTimeMillis()); String analysisId = "analysis_" + String.valueOf(System.currentTimeMillis()); roleCell = new ArrayList<Cell>(); workbookManager = new WorkbookManager(); InputStream inputStream = null; try {/*from w w w.j av a2 s . c o m*/ workbookManager.loadWorkbook(file); workbook = workbookManager.getWorkbook(); validationManager = workbookManager.getOntologyTermValidationManager(); inputStream = file.toURI().toURL().openStream(); HSSFWorkbook workbook = new HSSFWorkbook(new BufferedInputStream(inputStream)); this.sheet = workbook.getSheetAt(0); int lastRow = sheet.getLastRowNum(); for (int x = 0; x <= lastRow; x++) { HSSFRow row = sheet.getRow(x); if (row != null) { firstPass(row); } } } catch (IOException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } if (!keyValue.containsKey(SpreadhseetVocabulary.EXPERIMENT_ID.getKeyName())) { System.err.println("Didn't find an experiment id in the spreadsheet"); System.exit(0); } else { Cell c = keyValue.get(SpreadhseetVocabulary.EXPERIMENT_ID.getKeyName()).get(0); String texpId = getValueForKey(c); if (!texpId.equals("")) { expId = texpId; } experiment = new KUPExperiment(expId); if (experiment == null) { System.err.println("Can't create experiment"); System.exit(0); } else { if (keyValue.get(SpreadhseetVocabulary.COMPOUND_LIST.getKeyName()) != null) { String desc = getValueForKey( keyValue.get(SpreadhseetVocabulary.COMPOUND_LIST.getKeyName()).get(0)); if (!desc.equals("")) { experiment.setListType(desc); } } if (keyValue.get(SpreadhseetVocabulary.EXPERIMENT_ASSAY.getKeyName()) != null) { String desc = getValueForKey( keyValue.get(SpreadhseetVocabulary.EXPERIMENT_ASSAY.getKeyName()).get(0)); if (!desc.equals("")) { experiment.setAssayType(desc); } } if (keyValue.get(SpreadhseetVocabulary.PRE_ANALYTICAL.getKeyName()) != null) { String desc = getValueForKey( keyValue.get(SpreadhseetVocabulary.PRE_ANALYTICAL.getKeyName()).get(0)); if (!desc.equals("")) { experiment.setPreAnalyticalTechnuique(desc); } } if (keyValue.get(SpreadhseetVocabulary.ANALYSIS_TYPE.getKeyName()) != null) { String desc = getValueForKey( keyValue.get(SpreadhseetVocabulary.ANALYSIS_TYPE.getKeyName()).get(0)); if (!desc.equals("")) { experiment.setAnalysisType(desc); } } } } // now go through the analysis roles Set<KUPAnnotation> annotations = new HashSet<KUPAnnotation>(); String uniqueString = ""; int rolecounter = 0; for (Cell currentRole : roleCell) { // search from current cell down until you get to the next role int rowIndex = currentRole.getRowIndex(); // first is the Role uniqueString = "_" + String.valueOf(System.currentTimeMillis() + rolecounter); analysisId = expId + uniqueString; KUPAnnotation annotation = new KUPAnnotation(analysisId); String roleValue = getValueForKey(currentRole); if (roleValue.equals("")) { rolecounter++; continue; } annotation.setRole(roleValue); rowIndex++; // now keep going until you find the next role Set<String> qualities = new HashSet<String>(); Set<String> bioMaterials = new HashSet<String>(); while (keepGettingRole(rowIndex)) { HSSFRow currentRow = sheet.getRow(rowIndex); // get the first cell Cell cell = currentRow.getCell(0); System.err.println(cell.getStringCellValue()); if (cell.getStringCellValue().toLowerCase() .equals(SpreadhseetVocabulary.EXPERIMENT_CONDITION.getKeyName())) { String t = getValueForKey(cell); IRI iri = lookupId(cell, t); if (iri != null) { t = iri.toString(); } annotation.setCondition(t); System.out.println("Setting exp condition: " + t); } else if (cell.getStringCellValue().toLowerCase() .equals(SpreadhseetVocabulary.SPECIES.getKeyName())) { String t = getValueForKey(cell); IRI iri = lookupId(cell, t); if (iri != null) { t = iri.toString(); } annotation.setTaxonomy(t); System.out.println("Setting taxonomy: " + t); } else if (cell.getStringCellValue().toLowerCase() .equals(SpreadhseetVocabulary.DISEASE.getKeyName())) { String t = getValueForKey(cell); String[] diseaseValues = t.split("\\s*\\|\\s*"); Set<String> diseasesSet = new HashSet<String>(); for (String s : diseaseValues) { s = s.trim(); IRI iri = lookupId(cell, s); if (iri != null) { s = iri.toString(); } System.out.println("Setting disease: " + s); diseasesSet.add(s); } annotation.getHasDisease().addAll(diseasesSet); } else if (cell.getStringCellValue().toLowerCase() .equals(SpreadhseetVocabulary.BIOMATERIAL.getKeyName())) { String desc = getValueForKey( keyValue.get(SpreadhseetVocabulary.BIOMATERIAL.getKeyName()).get(rolecounter)); String[] values = desc.split("\\s*\\|\\s*"); for (String s : values) { s = s.trim(); IRI iri = lookupId(cell, s); if (iri != null) { s = iri.toString(); } System.out.println("Setting biomaterial: " + s); bioMaterials.add(s); } } else if (cell.getStringCellValue().toLowerCase() .equals(SpreadhseetVocabulary.EXPERIMENT_DESCRIPTION.getKeyName())) { String description = getValueForKey( keyValue.get(SpreadhseetVocabulary.EXPERIMENT_DESCRIPTION.getKeyName()).get(0)); if (!description.equals("")) { System.out.println("Setting description: " + description); experiment.setAssayDescription(description); } } else { String t = getValueForKey(cell); if (!t.equals("")) { IRI iri = lookupId(cell, t); if (iri != null) { t = iri.toString(); } System.out.println("Setting quality: " + t); qualities.add(t); } // the rest are qualities } rowIndex++; } annotation.getBioMaterial().addAll(bioMaterials); annotation.getQualities().addAll(qualities); annotations.add(annotation); rolecounter++; } // finally parse the compound lists CompoundList comList = new CompoundList(expId + uniqueString); for (int r = compoundListStart; r <= sheet.getLastRowNum(); r++) { if (sheet.getRow(r) == null) { continue; } CompoundList.ListMember listMember = comList.newListMember(); // Cell firstCell = sheet.getRow(r).getCell(1); // if (firstCell != null) { // if (!firstCell.getStringCellValue().equals("")) { for (String key : compoundAttributeToColumn.keySet()) { if (key.equals(SpreadhseetVocabulary.GENE_SYMBOL.getKeyName())) { // get the value in the cell int col = compoundAttributeToColumn.get(key); Cell cell = sheet.getRow(r).getCell(col); if (cell != null) listMember.setGeneSymbol(cell.getStringCellValue()); } if (key.equals(SpreadhseetVocabulary.GENE_ID.getKeyName()) || key.equals(SpreadhseetVocabulary.ENTREZ_GENE_ID.getKeyName())) { // get the value in the cell int col = compoundAttributeToColumn.get(key); Cell cell = sheet.getRow(r).getCell(col); if (cell != null) { String s = cell.getStringCellValue(); if (s.contains("E")) { String tmps = s.substring(s.indexOf("E")); s = s.replace(tmps, ""); s = s.replace(".", ""); } else if (s.endsWith(".0")) { s = s.replace(".0", ""); } listMember.setGeneId(s); } } if (key.equals(SpreadhseetVocabulary.UNIPROT_ID.getKeyName()) || key.equals(SpreadhseetVocabulary.UNIPROT_ACC.getKeyName())) { // get the value in the cell int col = compoundAttributeToColumn.get(key); Cell cell = sheet.getRow(r).getCell(col); if (cell != null) listMember.setUniprotID(cell.getStringCellValue()); } if (key.equals(SpreadhseetVocabulary.HMDB_ID.getKeyName())) { // get the value in the cell int col = compoundAttributeToColumn.get(key); Cell cell = sheet.getRow(r).getCell(col); if (cell != null) listMember.setHmdbid(cell.getStringCellValue()); } if (key.equals(SpreadhseetVocabulary.MICROCOSM.getKeyName())) { // get the value in the cell int col = compoundAttributeToColumn.get(key); Cell cell = sheet.getRow(r).getCell(col); if (cell != null) listMember.setMicrocosmid(cell.getStringCellValue()); } if (key.equals(SpreadhseetVocabulary.EXPRESSION_STRENGTH.getKeyName())) { // get the value in the cell int col = compoundAttributeToColumn.get(key); Cell cell = sheet.getRow(r).getCell(col); if (cell != null) listMember.setExpressionStrength(cell.getStringCellValue()); } if (key.equals(SpreadhseetVocabulary.DIFFERENTIAL.getKeyName())) { // get the value in the cell int col = compoundAttributeToColumn.get(key); Cell cell = sheet.getRow(r).getCell(col); if (cell != null) listMember.setDifferential(cell.getStringCellValue()); } if (key.equals(SpreadhseetVocabulary.RATIO.getKeyName())) { // get the value in the cell int col = compoundAttributeToColumn.get(key); Cell cell = sheet.getRow(r).getCell(col); if (cell != null) listMember.setRatio(cell.getStringCellValue()); } if (key.equals(SpreadhseetVocabulary.P_VALUE.getKeyName())) { // get the value in the cell int col = compoundAttributeToColumn.get(key); Cell cell = sheet.getRow(r).getCell(col); if (cell != null) listMember.setPValue(cell.getStringCellValue()); } if (key.equals(SpreadhseetVocabulary.FDR.getKeyName())) { // get the value in the cell int col = compoundAttributeToColumn.get(key); Cell cell = sheet.getRow(r).getCell(col); if (cell != null) listMember.setFdrValue(cell.getStringCellValue()); } } comList.getMembers().add(listMember); // } // } } KUPAnalysis analysis = new KUPAnalysis(analysisId); analysis.getCompoundList().add(comList); analysis.getAnnotations().addAll(annotations); experiment.getAnalysis().add(analysis); }
From source file:kupkb_experiments.ExperimentSpreadSheetParser.java
License:Open Source License
public IRI lookupId(Cell cell, String value) { int colIndex = cell.getColumnIndex(); int rowIndex = cell.getRowIndex(); Collection<OntologyTermValidation> validations = validationManager.getContainingValidations( new Range(workbook.getSheet(0), colIndex + 1, rowIndex, colIndex + 1, rowIndex)); for (OntologyTermValidation v : validations) { OntologyTermValidationDescriptor desc = v.getValidationDescriptor(); for (Term t : desc.getTerms()) { if (t.getName().toLowerCase().equals(value.toLowerCase())) { if (t.getIRI().toString().contains("e-lico.eu")) { return IRI.create(t.getIRI().toString().replace("e-lico.eu", "kupkb.org")); }/*from ww w . j a va2 s .co m*/ return t.getIRI(); } } } return null; }
From source file:kupkb_experiments.ExperimentSpreadSheetParser.java
License:Open Source License
private String getValueForKey(Cell cell) { int colIndex = cell.getColumnIndex(); int rowIndex = cell.getRowIndex(); // System.err.println(cell.getStringCellValue() + " col" + colIndex + " row " + rowIndex); Cell nextCell = sheet.getRow(rowIndex).getCell(colIndex + 1); if (nextCell != null) { return nextCell.getStringCellValue(); }/*w w w. j a v a 2s. com*/ return ""; }
From source file:mvp.presenter.OpenDataDialogPresenter.java
private void parseFile(String excelFilePath, boolean colHeader) throws IOException { if (view.shapeFilePathField.getText().isEmpty() || view.shapeFilePathField.getText().equalsIgnoreCase("Enter the shapefile path here")) { data.setShpPath("empty"); }// www . j a v a 2s . co m try (FileInputStream inputStream = new FileInputStream(new File(excelFilePath))) { GridBase grid = new GridBase(1000, 100); ObservableList<String> listHeader = FXCollections.observableArrayList(); try (Workbook workbook = new XSSFWorkbook(inputStream)) { Sheet firstSheet = workbook.getSheetAt(0); data.setRowNumber(firstSheet.getLastRowNum()); data.setColumnNumber(firstSheet.getRow(0).getLastCellNum()); Iterator<Row> iterator = firstSheet.iterator(); ObservableList<ObservableList<SpreadsheetCell>> rows = FXCollections.observableArrayList(); for (int row = 0; row < grid.getRowCount(); row++) { final ObservableList<SpreadsheetCell> list = FXCollections.observableArrayList(); for (int column = 0; column < grid.getColumnCount(); column++) { list.add(SpreadsheetCellType.STRING.createCell(row, column, 1, 1, "")); } rows.add(list); } if (colHeader) { if (iterator.hasNext()) { Row headerRow = iterator.next(); Iterator<Cell> cellIterator = headerRow.cellIterator(); while (cellIterator.hasNext()) { Cell cell = cellIterator.next(); listHeader.add(cell.getStringCellValue()); } } ObservableList<String> variableType = FXCollections.observableArrayList(); for (int i = 0; i < listHeader.size(); i++) { variableType.add(null); } while (iterator.hasNext()) { Row nextRow = iterator.next(); Iterator<Cell> cellIterator = nextRow.cellIterator(); while (cellIterator.hasNext()) { Cell cell = cellIterator.next(); switch (cell.getCellType()) { case Cell.CELL_TYPE_STRING: variableType.set(cell.getColumnIndex(), "String"); rows.get(cell.getRowIndex() - 1).set(cell.getColumnIndex(), SpreadsheetCellType.STRING.createCell(cell.getRowIndex() - 1, cell.getColumnIndex(), 1, 1, cell.getStringCellValue())); break; case Cell.CELL_TYPE_BOOLEAN: variableType.set(cell.getColumnIndex(), "Boolean"); rows.get(cell.getRowIndex() - 1).set(cell.getColumnIndex(), SpreadsheetCellType.STRING.createCell(cell.getRowIndex() - 1, cell.getColumnIndex(), 1, 1, String.valueOf(cell.getBooleanCellValue()))); break; case Cell.CELL_TYPE_NUMERIC: variableType.set(cell.getColumnIndex(), "Double"); rows.get(cell.getRowIndex() - 1).set(cell.getColumnIndex(), SpreadsheetCellType.DOUBLE.createCell(cell.getRowIndex() - 1, cell.getColumnIndex(), 1, 1, cell.getNumericCellValue())); break; } } } ObservableList<Variable> variables = FXCollections.observableArrayList(); for (int i = 0; i < listHeader.size() && i < variableType.size(); i++) { Variable variable = new Variable(listHeader.get(i), variableType.get(i)); variables.add(variable); } data.setVariables(variables); } else if (!colHeader) { while (iterator.hasNext()) { Row nextRow = iterator.next(); Iterator<Cell> cellIterator = nextRow.cellIterator(); while (cellIterator.hasNext()) { Cell cell = cellIterator.next(); switch (cell.getCellType()) { case Cell.CELL_TYPE_STRING: rows.get(cell.getRowIndex()).set(cell.getColumnIndex(), SpreadsheetCellType.STRING.createCell(cell.getRowIndex(), cell.getColumnIndex(), 1, 1, cell.getStringCellValue())); break; case Cell.CELL_TYPE_BOOLEAN: rows.get(cell.getRowIndex()).set(cell.getColumnIndex(), SpreadsheetCellType.STRING.createCell(cell.getRowIndex(), cell.getColumnIndex(), 1, 1, String.valueOf(cell.getBooleanCellValue()))); break; case Cell.CELL_TYPE_NUMERIC: rows.get(cell.getRowIndex()).set(cell.getColumnIndex(), SpreadsheetCellType.DOUBLE.createCell(cell.getRowIndex(), cell.getColumnIndex(), 1, 1, cell.getNumericCellValue())); break; } } } } grid.setRows(rows); mwview.drawTable(listHeader, grid); } } view.closeStage(); }
From source file:net.ceos.project.poi.annotated.core.CellFormulaHandler.java
License:Apache License
/** * Apply a formula value at the Cell./* ww w .j a va 2s.c o m*/ * * @param configCriteria * the {@link XConfigCriteria} object * @param cell * the {@link Cell} to use * @throws ElementException */ private static boolean toFormula(final XConfigCriteria configCriteria, final Cell cell) throws ElementException { boolean isFormulaApplied = false; if (StringUtils.isNotBlank(configCriteria.getElement().formula())) { // calculate position according the propagation type int position = PredicateFactory.isPropagationHorizontal.test(configCriteria.getPropagation()) ? cell.getRowIndex() + 1 : cell.getColumnIndex(); // calculate and apply formula cell.setCellFormula(CellFormulaConverter.calculateSimpleOrDynamicFormula(configCriteria, position)); isFormulaApplied = true; } return isFormulaApplied; }
From source file:net.sf.ahtutils.report.util.DataUtil.java
public static Object getCellValue(Cell cell) { Object value = new Object(); // Prevent a NullPointerException if (cell != null) { if (cell.getHyperlink() != null) { Workbook workbook = new XSSFWorkbook(); FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator(); Hyperlink link = cell.getHyperlink(); String address = link.getAddress(); if (logger.isTraceEnabled()) { logger.trace("Found a Hyperlink to " + cell.getHyperlink().getAddress() + " in cell " + cell.getRowIndex() + "," + cell.getColumnIndex()); }/*from w w w .java 2 s .co m*/ cell = evaluator.evaluateInCell(cell); } // Depending on the cell type, the value is read using Apache POI methods switch (cell.getCellType()) { // String are easy to handle case Cell.CELL_TYPE_STRING: logger.trace("Found string " + cell.getStringCellValue()); value = cell.getStringCellValue(); break; // Since date formatted cells are also of the numeric type, this needs to be processed case Cell.CELL_TYPE_NUMERIC: if (DateUtil.isCellDateFormatted(cell)) { Date date = cell.getDateCellValue(); DateFormat df = SimpleDateFormat.getDateInstance(); logger.trace("Found date " + df.format(date)); value = date; } else { logger.trace("Found general number " + cell.getNumericCellValue()); value = cell.getNumericCellValue(); } break; } } else { logger.trace("Found cell with NULL value"); } return value; }
From source file:net.unit8.axebomber.parser.CellImpl.java
License:Apache License
public CellImpl(org.apache.poi.ss.usermodel.Cell cell) { this.cell = cell; setColumnIndex(cell.getColumnIndex()); setRowIndex(cell.getRowIndex()); }