Example usage for org.apache.poi.xssf.usermodel XSSFWorkbook getSheetAt

List of usage examples for org.apache.poi.xssf.usermodel XSSFWorkbook getSheetAt

Introduction

In this page you can find the example usage for org.apache.poi.xssf.usermodel XSSFWorkbook getSheetAt.

Prototype

@Override
public XSSFSheet getSheetAt(int index) 

Source Link

Document

Get the XSSFSheet object at the given index.

Usage

From source file:gtu._work.ui.SqlCreaterUI.java

License:Open Source License

private void firstRowMakeInsertSqlBtn(ActionEvent evt) {
    try {//from   www . j a va 2s . c  o  m
        String tableName = Validate.notBlank(tableNameText.getText(), "??");
        File srcFile = JCommonUtil.filePathCheck(excelFilePathText2.getText(), "?", "xlsx");
        File saveFile = JCommonUtil._jFileChooser_selectFileOnly_saveFile();
        if (saveFile == null) {
            JCommonUtil._jOptionPane_showMessageDialog_error("?");
            return;
        }

        BufferedWriter writer = new BufferedWriter(
                new OutputStreamWriter(new FileOutputStream(saveFile), "utf8"));

        BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));
        XSSFWorkbook xssfWorkbook = new XSSFWorkbook(bis);
        Sheet sheet = xssfWorkbook.getSheetAt(0);

        LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>();
        for (int ii = 0; ii < sheet.getRow(0).getLastCellNum(); ii++) {
            valueMap.put(formatCellType(sheet.getRow(0).getCell(ii)), "");
        }

        for (int j = 0; j < sheet.getPhysicalNumberOfRows(); j++) {
            Row row = sheet.getRow(j);
            LinkedHashMap<String, String> valueMap2 = (LinkedHashMap<String, String>) valueMap.clone();
            int ii = 0;
            for (String key : valueMap2.keySet()) {
                valueMap2.put(key, formatCellType(row.getCell(ii)));
                ii++;
            }
            appendLog("" + valueMap2);
            String insertSql = this.fetchInsertSQL(tableName, valueMap2);
            appendLog("" + insertSql);
            writer.write(insertSql);
            writer.newLine();
        }
        bis.close();

        writer.flush();
        writer.close();

        JCommonUtil._jOptionPane_showMessageDialog_info("? : \n" + saveFile);
    } catch (Exception ex) {
        JCommonUtil.handleException(ex);
    }
}

From source file:helpers.Excel.ExcelDataFormat.java

private Object unmarshalXLSX(Exchange exchng, InputStream in) throws Exception {

    XSSFWorkbook workbook = new XSSFWorkbook(in);
    FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();

    //Get first sheet from the workbook
    XSSFSheet sheet = workbook.getSheetAt(0);

    if (importType != ImportType.FORMATTED) {
        return marshalAsArray(sheet.iterator());
    } else {/*  w  w  w  . ja v a 2  s . co m*/
        OneExcel excel = new OneExcel();
        for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
            OneExcelSheet onesheet = marshalAsStructure(workbook.getSheetAt(i).iterator(), evaluator);
            logger.info("Loading sheet:" + i);
            logger.info("Data:" + onesheet.data.size());
            if (onesheet.data.size() > 0)
                excel.sheets.add(onesheet);
        }
        logger.info("Total sheets:" + excel.sheets.size());

        ArrayList<HashMap<String, Object>> resu = excel.GenerateResult();
        HashMap<String, Object> mappings = excel.GenerateMappings();

        exchng.getOut().setHeader("mappings", mappings);
        exchng.getOut().setHeader("xlsdata", resu);

        return resu;

    }
}

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);
    Iterator<Row> rowIterator = sheet.iterator();

    CellRangeAddress add;//from   w w  w.  j  ava 2 s .  c o m
    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:icalendarconverter.ReadExcel.java

public static void main(String[] args) throws Exception {
    File src = new File(
            "C:\\Users\\Ariq\\Documents\\NetBeansProjects\\Skripsi-Jadwal-Mengawas-Ujian\\Contoh File\\Jadwal_Pengawas_ Ujian_Pak_ Pascal.xlsx");
    //File src = new File("D:\\\\Skripsi\\\\Data Baru\\\\Daftar Dosen.xlsx");
    FileInputStream fis = new FileInputStream(src);
    XSSFWorkbook wb = new XSSFWorkbook(fis);

    XSSFSheet sheet1 = wb.getSheetAt(0);
    Iterator<Row> rowIterator = sheet1.iterator();

    FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();

    // suppose your formula is in A3
    CellReference cellReference = new CellReference("A3");

    while (rowIterator.hasNext()) {
        row = (XSSFRow) rowIterator.next();
        Iterator<Cell> cellIterator = row.cellIterator();
        while (cellIterator.hasNext()) {
            Cell cell = cellIterator.next();
            CellValue cellValue = evaluator.evaluate(cell);
            switch (evaluator.evaluateInCell(cell).getCellType()) {
            case Cell.CELL_TYPE_NUMERIC:
                System.out.print((int) cell.getNumericCellValue() + " \t\t ");
                break;
            case Cell.CELL_TYPE_STRING:
                System.out.print(cell.getStringCellValue() + " \t\t ");
                break;
            }//from w  w  w . j  a  va2s. com
        }
        System.out.println();
    }
    fis.close();
}

From source file:ik1004labb5.DAOHundExcel.java

@Override
public void add(DTOHund dtoHund) {
    XSSFWorkbook workbook = getExcelWorkbook();
    XSSFSheet worksheet = workbook.getSheetAt(0);
    //G ner i hierarkun frn workbook, till sheet row osv.
    XSSFRow row = worksheet.createRow(worksheet.getLastRowNum() + 1);
    XSSFCell id = row.createCell(0); //skapa celler fr varje "instans", namn, ras osv.
    XSSFCell namn = row.createCell(1);//  w w  w.jav a  2 s  .c  o m
    XSSFCell ras = row.createCell(2);
    XSSFCell bildURL = row.createCell(3);
    //XSSFCell iHundgrd = row.createCell(4);

    id.setCellValue(Integer.toString(dtoHund.getId()));
    namn.setCellValue(dtoHund.getNamn());
    ras.setCellValue(dtoHund.getRas());
    bildURL.setCellValue(dtoHund.getBildURL());
    //iHundgrd.setCellValue(dtoHund.isiHundgrd().get());
    //worksheet.createRow(worksheet.getLastRowNum() + 1);    FRBANNELSENS RAD! Visa Elin.

    saveToExcel(workbook);
}

From source file:ik1004labb5.DAOHundExcel.java

@Override
public void delete(int id) {
    XSSFWorkbook workbook = getExcelWorkbook();
    XSSFSheet worksheet = workbook.getSheetAt(0);
    DataFormatter df = new DataFormatter();
    //Loopa igenom nollkolumnen fr att frska hitta en matchning p ID

    for (Row row : worksheet) {
        if (df.formatCellValue(row.getCell(0)).equalsIgnoreCase(Integer.toString(id))) {
            if (row.getRowNum() == worksheet.getLastRowNum()) {
                worksheet.removeRow(row);
                break;
            } else {
                worksheet.shiftRows(row.getRowNum() + 1, worksheet.getLastRowNum(), -1);
            }//  w  w  w.j av a2 s .co m
            break;
        }
    }
    saveToExcel(workbook);
}

From source file:ik1004labb5.DAOHundExcel.java

@Override
public void update(DTOHund dtoHund) {
    XSSFWorkbook workbook = getExcelWorkbook();
    XSSFSheet worksheet = workbook.getSheetAt(0);
    DataFormatter df = new DataFormatter();

    for (Row row : worksheet) {
        if (df.formatCellValue(row.getCell(0)).equalsIgnoreCase(Integer.toString(dtoHund.getId()))) {
            row.getCell(0).setCellValue(dtoHund.getId());
            row.getCell(1).setCellValue(dtoHund.getNamn());
            row.getCell(2).setCellValue(dtoHund.getRas());
            row.getCell(3).setCellValue(dtoHund.getBildURL());
            break;
        }/*  w ww  .ja  v a  2  s  .c o m*/
    }
    //loopa, hitta matchning och skriver ver med hjlp av dtoHund.getNamn();
    saveToExcel(workbook);
}

From source file:ik1004labb5.DAOHundExcel.java

@Override
public List<DTOHund> getHundar() { //Ls in frn inputstream, hmta workbooken, vlj rtt sheet och ls in rader
    List<DTOHund> hundar = new ArrayList<>();
    XSSFWorkbook workbook = getExcelWorkbook();
    XSSFSheet worksheet = workbook.getSheetAt(0);
    Iterator<Row> rowIterator = worksheet.iterator();
    DataFormatter df = new DataFormatter();

    while (rowIterator.hasNext()) {

        Row row = rowIterator.next();/* w  w  w . ja  va  2 s . c o  m*/

        //String id = row.getCell(0).getStringCellValue(); //Problem mot Excelfilen vid lgg till. Kan jag bestmma att cellen ska vara numerisk?
        String id = df.formatCellValue(row.getCell(0));
        String namn = df.formatCellValue(row.getCell(1));
        String ras = df.formatCellValue(row.getCell(2));
        String bildURL = df.formatCellValue(row.getCell(3));
        //String iHundgrd = df.formatCellValue(row.getCell(4));

        DTOHund dtoHund = new DTOHund(Integer.parseInt(id), namn, ras, bildURL);
        hundar.add(dtoHund);
    }

    return hundar;
}

From source file:in.expertsoftware.colorcheck.FormatvarificationErrorList.java

private static void setColorInfoMetaData(XSSFWorkbook ErrorWorkbook) {
    //Set Colour used information on first sheet.
    XSSFSheet setInfoSheet = ErrorWorkbook.getSheetAt(0);
    XSSFRow colourInfoRow;// w  ww  .  ja v a 2 s. co  m
    XSSFRow errorColourRow;
    XSSFRow warningColourRow;
    if (setInfoSheet.getPhysicalNumberOfRows() > 5) {
        colourInfoRow = setInfoSheet.getRow(5);
    } else {
        colourInfoRow = setInfoSheet.createRow(5);
    }
    Cell colorInfoCell = colourInfoRow.createCell(6);
    Cell RGBCell = colourInfoRow.createCell(7);
    CreaateHeaderOfErrorList(ErrorWorkbook, colorInfoCell, "Used Color");
    CreaateHeaderOfErrorList(ErrorWorkbook, RGBCell, "RGB Value");
    setInfoSheet.autoSizeColumn(6);
    setInfoSheet.autoSizeColumn(7);
    if (setInfoSheet.getPhysicalNumberOfRows() > 6) {
        errorColourRow = setInfoSheet.getRow(6);
    } else {
        errorColourRow = setInfoSheet.createRow(6);
    }
    if (setInfoSheet.getPhysicalNumberOfRows() > 7) {
        warningColourRow = setInfoSheet.getRow(7);
    } else {
        warningColourRow = setInfoSheet.createRow(7);
    }
    //error color style
    XSSFCellStyle errorStyle = ErrorWorkbook.createCellStyle();
    errorStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
    errorStyle.setFillForegroundColor(new XSSFColor(new java.awt.Color(225, 171, 171)));
    errorColourRow.createCell(6).setCellStyle(errorStyle);
    errorColourRow.getCell(6).setCellValue("Error");
    errorColourRow.createCell(7).setCellValue("225, 171, 171");
    //warning color style
    XSSFCellStyle warningStyle = ErrorWorkbook.createCellStyle();
    warningStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
    warningStyle.setFillForegroundColor(new XSSFColor(new java.awt.Color(155, 194, 230)));
    warningColourRow.createCell(6).setCellStyle(warningStyle);
    warningColourRow.getCell(6).setCellValue("Warning");
    warningColourRow.createCell(7).setCellValue("155, 194, 230");
}

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
 * /* w  w  w .  j  a va  2 s .  com*/
 */
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;
}