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:Authenticator.java

static boolean authenticate(String username, String path) {
    int i = 0;// w w  w  . j  a v  a2 s.  c o m
    try {
        FileInputStream f_input = new FileInputStream(new File(path));
        XSSFWorkbook workbook = new XSSFWorkbook(f_input);
        XSSFSheet sheet = workbook.getSheetAt(0);
        int rows_number = sheet.getLastRowNum();
        System.out.println(rows_number);
        XSSFRow row_user = null;
        XSSFCell cell_user = null;
        for (int iterator = 1; iterator <= rows_number; iterator++) {
            row_user = sheet.getRow(iterator);
            cell_user = row_user.getCell(0);
            String valid_username = cell_user.getStringCellValue();
            if (username.equals(valid_username)) {
                System.out.println("valid user");
                return true;
            }
        }
        return false;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return false;
}

From source file:ImporteerExcelsheet.java

public void importeerExcelsheet(String filePath) {
    try {//  ww w . j a v  a  2  s. c om
        FileInputStream file = new FileInputStream(new File(filePath));

        if (filePath.toLowerCase().indexOf(xlsx.toLowerCase()) != -1) {
            XSSFWorkbook wbXlsx = new XSSFWorkbook(file);
            sheet = wbXlsx.getSheetAt(0);
            Row row = sheet.getRow(3);
            Cell cell = row.getCell(1);

            try {
                // convert String dd-mm-yyyy naar Date yyyy-mm-dd 
                String excelDatum1 = cell.getStringCellValue();
                Date date = new SimpleDateFormat("dd-MM-yyyy").parse(excelDatum1);
                this.excelDatum = this.formatter.format(date);
            } catch (Exception e) {
                double date1 = cell.getNumericCellValue();
                //convert excel double naar datum
                Date date2 = DateUtil.getJavaDate((double) date1);
                this.excelDatum = new SimpleDateFormat("yyyy-MM-dd").format(date2);
            }
            //Iterate through each rows one by one
            rowIterator = sheet.iterator();
        } else {
            HSSFWorkbook wbXls = new HSSFWorkbook(file);
            sheet1 = wbXls.getSheetAt(0);
            Row row = sheet1.getRow(3);
            Cell cell = row.getCell(1);

            // convert String dd-mm-yyyy naar Date yyyy-mm-dd 
            try {
                String excelDatum1 = cell.getStringCellValue();
                Date date = new SimpleDateFormat("dd-MM-yyyy").parse(excelDatum1);
                this.excelDatum = this.formatter.format(date);
            } catch (Exception e) {
                double date1 = cell.getNumericCellValue();
                //convert excel double naar datum
                Date date2 = DateUtil.getJavaDate((double) date1);
                this.excelDatum = new SimpleDateFormat("yyyy-MM-dd").format(date2);
            }
            //Iterate through each rows one by one
            rowIterator = sheet1.iterator();
        }

        //Iterate through each rows one by one
        while (rowIterator.hasNext()) {
            Row row = rowIterator.next();
            //skip first 5 rows
            if (row.getRowNum() == 0 || row.getRowNum() == 1 || row.getRowNum() == 2 || row.getRowNum() == 3
                    || row.getRowNum() == 4) {
                continue;
            }

            //For each row, iterate through all the columns
            Iterator<Cell> cellIterator = row.cellIterator();

            while (cellIterator.hasNext()) {
                Cell cell = cellIterator.next();
                //Check the cell type and format accordingly
                switch (cell.getCellType()) {
                case Cell.CELL_TYPE_NUMERIC:
                    //                            System.out.print(cell.getNumericCellValue() + "\t");
                    break;
                case Cell.CELL_TYPE_STRING:
                    //                            System.out.print(cell.getStringCellValue() + "\t");
                    break;
                case Cell.CELL_TYPE_BLANK:
                    //                            System.out.print(cell.getStringCellValue() + "\t");
                    break;
                case Cell.CELL_TYPE_FORMULA:
                    //                            System.out.print(cell.getStringCellValue() + "\t");
                    break;
                }
            }
            // Tabel client
            int kaartnummer = (int) row.getCell(0).getNumericCellValue();
            String naam = row.getCell(1).getStringCellValue();
            String naamPartner = row.getCell(2).getStringCellValue();
            String telefoonnummer = row.getCell(3).getStringCellValue();
            String email = row.getCell(4).getStringCellValue();
            String mobiel = row.getCell(5).getStringCellValue();
            int aantalPersonen = (int) row.getCell(6).getNumericCellValue();
            int aantalPersonenInDeNorm = (int) row.getCell(7).getNumericCellValue();
            double gebruikInMaanden = (double) row.getCell(8).getNumericCellValue();
            String idSoort = row.getCell(9).getStringCellValue();
            //convert excel double naar datum
            double datumUitgifteId1 = row.getCell(10).getNumericCellValue();
            if (datumUitgifteId1 == 0.0) {
                this.datumUitgifteId = null;
            } else {
                Date datumUitgifteId2 = DateUtil.getJavaDate((double) datumUitgifteId1);
                this.datumUitgifteId = new SimpleDateFormat("yyyy-MM-dd").format(datumUitgifteId2);
            }
            ////////////////////////////////////////////////////////////////////////////////////
            String idNummer = row.getCell(11).getStringCellValue();
            String plaatsUitgifteId = row.getCell(12).getStringCellValue();
            String adres = row.getCell(13).getStringCellValue();
            String postcode = row.getCell(14).getStringCellValue();
            String plaats = row.getCell(15).getStringCellValue();
            String status = row.getCell(16).getStringCellValue();

            // Tabel intake
            // kaartnummer gaat hier ook in de query
            String intaker = row.getCell(17).getStringCellValue();
            double intakeDatum1 = row.getCell(18).getNumericCellValue();
            //convert excel double naar datum
            Date intakeDatum2 = DateUtil.getJavaDate((double) intakeDatum1);
            String intakeDatum = new SimpleDateFormat("yyyy-MM-dd").format(intakeDatum2);
            /////////////////////////////////////////////////////////////////////////
            double startDatumUitgifte1 = row.getCell(19).getNumericCellValue();
            //convert excel double naar datum
            Date startDatumUitgifte2 = DateUtil.getJavaDate((double) startDatumUitgifte1);
            String startDatumUitgifte = new SimpleDateFormat("yyyy-MM-dd").format(startDatumUitgifte2);
            //////////////////////////////////////////////////////////////////////////////////
            double datumHerintake1 = row.getCell(20).getNumericCellValue();
            //convert excel double naar datum
            Date datumHerintake2 = DateUtil.getJavaDate((double) datumHerintake1);
            String datumHerintake = new SimpleDateFormat("yyyy-MM-dd").format(datumHerintake2);
            /////////////////////////////////////////////////////////////////////////////////
            // Tabel Stopt
            double datumStopzetting1 = row.getCell(21).getNumericCellValue();
            //convert excel numbers naar datum
            Date datumStopzetting2 = DateUtil.getJavaDate((double) datumStopzetting1);
            String datumStopzetting = new SimpleDateFormat("yyyy-MM-dd").format(datumStopzetting2);
            //////////////////////////////////////////////////////////////////////////////////////
            String redenStopzetting = row.getCell(22).getStringCellValue();

            // Tabel verwijzer
            String verwijzerNaam = row.getCell(23).getStringCellValue();
            String verwijzersDoorContactpersoon1 = row.getCell(24).getStringCellValue();
            String verwijzersDoorContactpersoon = verwijzersDoorContactpersoon1.toLowerCase();
            String verwijzersDoorTelefoonnummer = row.getCell(25).getStringCellValue();
            String verwijzersDoorEmail = row.getCell(26).getStringCellValue();
            String verwijzersNaar = row.getCell(27).getStringCellValue();
            String verwijzersNaarContactpersoon = row.getCell(28).getStringCellValue();
            String verwijzersNaarTelefoonnummer = row.getCell(29).getStringCellValue();
            String verwijzersNaarEmail = row.getCell(30).getStringCellValue();

            // Uitgiftepunt gaat in de tabel intake
            String uitgiftepunt = row.getCell(31).getStringCellValue();

            // PakketSoort gaat in de tabel client
            String pakketSoort = row.getCell(32).getStringCellValue();

            // Query's om de excelsheet in de database te krijgen
            SQLExcelSheetInsert excelSQL = new SQLExcelSheetInsert();
            SQLget getSQL = new SQLget();

            // Losse query uit de tabel om bepaalde gegevens te krijgen om te controleren of die al bestaat of niet
            int Verwijzer = getSQL.getVerwijzernr(verwijzerNaam, verwijzersDoorContactpersoon);
            int checkKaartnr = getSQL.getCheckKaartnummer(kaartnummer);
            int checkUitgiftepunt = getSQL.getUitgiftepunt(uitgiftepunt);

            if (Verwijzer == 0) {
                excelSQL.insertExcelVerwijzer(verwijzerNaam, verwijzersDoorContactpersoon,
                        verwijzersDoorTelefoonnummer, verwijzersDoorEmail, verwijzersNaar,
                        verwijzersNaarContactpersoon, verwijzersNaarTelefoonnummer, verwijzersNaarEmail);
            }

            if (checkUitgiftepunt == 0) {
                int maxVolgorde = getSQL.getCheckVolgordeLijst();
                excelSQL.insertUitgiftepunt(uitgiftepunt, maxVolgorde);
            }

            int Verwijzer2 = getSQL.getVerwijzernr(verwijzerNaam, verwijzersDoorContactpersoon);

            /// Wanneer er geen kaartnummer is die bekend gaat die door naar insert
            if (checkKaartnr == 0) {
                // Wanneer kaartnummer alles behalve 0 is insert die
                if (kaartnummer > 0) {
                    excelSQL.insertExcelClient(kaartnummer, naam, naamPartner, telefoonnummer, email, mobiel,
                            aantalPersonen, aantalPersonenInDeNorm, gebruikInMaanden, idSoort,
                            this.datumUitgifteId, idNummer, plaatsUitgifteId, adres, postcode, plaats, status,
                            pakketSoort, Verwijzer2);
                } else {
                    break;
                }
            } else {
                excelSQL.updateExcelClient(kaartnummer, naam, naamPartner, telefoonnummer, email, mobiel,
                        aantalPersonen, aantalPersonenInDeNorm, gebruikInMaanden, idSoort, this.datumUitgifteId,
                        idNummer, plaatsUitgifteId, adres, postcode, plaats, status, pakketSoort, Verwijzer2);
            }

            int checkIntake = getSQL.getCheckIntake(intakeDatum, startDatumUitgifte, datumHerintake,
                    kaartnummer);

            if (checkIntake == 0) {
                excelSQL.insertExcelIntake(intaker, intakeDatum, startDatumUitgifte, datumHerintake,
                        kaartnummer, uitgiftepunt);
                int intakeId = getSQL.getIntakeId(kaartnummer);
                excelSQL.insertExcelStopt(datumStopzetting, redenStopzetting, intakeId);
            }

            // Kan upgedate worden aan een knop voor een query aan status in de table voedselpakket wel of niet opgehaald
            String status1 = null;

            String checkStatus = getSQL.getStatus(kaartnummer);
            this.pakketAantal = getSQL.getPakketAantal(kaartnummer);
            int intakeId = getSQL.getIntakeId(kaartnummer);
            int checkPakket = getSQL.getPakket(this.excelDatum, intakeId);

            if (checkPakket == 0) {
                if (checkStatus != null) {
                    if (checkStatus.equals("Actief")) {
                        int intakeId2 = getSQL.getIntakeId(kaartnummer);
                        excelSQL.insertVoedselpakket(this.excelDatum, this.pakketAantal, status1, intakeId2,
                                uitgiftepunt);
                    }
                }
            }
        }
        file.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:ExampleClass.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();
    int colIndex = 0;
    int ex = 0;/*w  w  w  .  j a  va 2 s  .  co  m*/
    int lastCol = sheet1.getLastRowNum();
    int i = 0;
    int idx = 0;
    CellRangeAddress add;

    //        while (rowIterator.hasNext()) {
    //            row = (XSSFRow) rowIterator.next();
    //            Iterator< Cell> cellIterator = row.cellIterator();
    //            //System.out.println("i = "+i+", ex:"+ex);
    //
    //            if (row.getRowNum() > 53) {
    //                break;
    //            }
    ////            if(lastCol-(ex+1) == i) break;
    //            while (cellIterator.hasNext()) {
    //                Cell cell = cellIterator.next();

    //                for (int f = 0; f < sheet1.getNumMergedRegions(); f++) {
    //                    add = sheet1.getMergedRegion(f);
    //                    
    //                    int col = add.getFirstColumn();
    //                    int rowNum = add.getFirstRow();
    //                    if (rowNum != 0 && rowNum == cell.getRowIndex() && colIndex == cell.getColumnIndex()) {
    //                        System.out.println("col:"+col+" "+",row :"+rowNum);
    //                        String b = String.valueOf(sheet1.getRow(rowNum).getCell(col));
    //                        System.out.println(b);     
    //                        
    //                    }
    //                    
    //                }
    //               switch (cell.getCellType()) 
    //               {
    //                  case Cell.CELL_TYPE_FORMULA:
    //                      ex++;
    //                       switch (cell.getCachedFormulaResultType()) 
    //                       {
    //                           case Cell.CELL_TYPE_NUMERIC:
    //                           i = (int)cell.getNumericCellValue();
    //                           System.out.print( 
    //                           (int)cell.getNumericCellValue() + " \t\t " );
    //                             
    //                                 
    //                           break;
    //                       }
    //                   break;
    //                  case Cell.CELL_TYPE_NUMERIC:
    //                    if (cell.getColumnIndex() >= 6)
    //                    {
    //                        System.out.print( 
    //                        (int)cell.getNumericCellValue() + " \t\t " );
    //                    }
    //                    break;
    //                  case Cell.CELL_TYPE_STRING:
    //                   add = sheet1.getMergedRegion(cell.getRowIndex());
    //              
    //                   if (cell.getStringCellValue().contentEquals("No."))
    //                    {
    //                       colIndex = cell.getColumnIndex();
    //                    }
    //                   if (cell.getColumnIndex() == 1)
    //                   {
    //                        System.out.print(
    //                        cell.getStringCellValue() + " \t\t " );
    //                   }              
    //                   break;
    //                  
    //               }
    //            }
    //
    //            System.out.println();
    //        }

    for (int j = 0; j < sheet1.getLastRowNum(); j++) {

        row = sheet1.getRow(j);
        for (int k = 0; k < row.getLastCellNum(); k++) {

            Cell cell = row.getCell(k);
            //                if (cell.getColumnIndex() == 1)
            //                {
            //                    System.out.println(cell.getStringCellValue());
            //                }
            FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
            if (cell.getColumnIndex() == 0 && j > 3
                    && evaluator.evaluate(cell).getCellType() != Cell.CELL_TYPE_NUMERIC) {
                System.exit(k);
            }
            if (cell.getColumnIndex() >= 6 && cell.getColumnIndex() <= 11) {
                if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
                    System.out.print((int) cell.getNumericCellValue() + " ");
                }
                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++) {
                            System.out.println(splt2[l] + "= lab");
                        }
                    }

                    else {
                        CellReference cr = new CellReference(1, cell.getColumnIndex());
                        Row row2 = sheet1.getRow(cr.getRow());
                        Cell c = row2.getCell(cr.getCol());
                        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 = sheet1.getRow(cr.getRow());
                    Cell c = row2.getCell(cr.getCol());
                    CellReference cr2 = new CellReference(1, cell.getColumnIndex());
                    Row row3 = sheet1.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++) {
                            System.out.println(splt2[l] + "= lab");
                        }
                    }

                    else {
                        System.out.print(
                                c.getStringCellValue() + " Ruang = " + (int) c2.getNumericCellValue() + " ");
                    }
                }
            }

        }
        System.out.println("");
    }
    System.out.println(colIndex);

    System.out.println(idx);

    fis.close();
}

From source file:SiteStatIndexer.java

License:Open Source License

public static void run() {
    FileInputStream stream = null;
    try {/*from  ww w .  j  av  a  2 s  .  c  om*/
        long startIndex = Starts.SITE;
        int ch;

        stream = new FileInputStream("Dominions4.exe");
        stream.skip(Starts.SITE);

        XSSFWorkbook wb = SiteStatIndexer.readFile("MagicSites.xlsx");
        FileOutputStream fos = new FileOutputStream("NewMagicSites.xlsx");
        XSSFSheet sheet = wb.getSheetAt(0);

        // Name
        InputStreamReader isr = new InputStreamReader(stream, "ISO-8859-1");
        Reader in = new BufferedReader(isr);
        int rowNumber = 1;
        while ((ch = in.read()) > -1) {
            StringBuffer name = new StringBuffer();
            while (ch != 0) {
                name.append((char) ch);
                ch = in.read();
            }
            if (name.length() == 0) {
                continue;
            }
            if (name.toString().equals("end")) {
                break;
            }
            in.close();

            stream = new FileInputStream("Dominions4.exe");
            startIndex = startIndex + 144l;
            stream.skip(startIndex);
            isr = new InputStreamReader(stream, "ISO-8859-1");
            in = new BufferedReader(isr);

            //System.out.println(name);
            XSSFRow row = sheet.getRow(rowNumber);
            XSSFCell cell1 = row.getCell(0, Row.CREATE_NULL_AS_BLANK);
            cell1.setCellValue(rowNumber);
            rowNumber++;
            XSSFCell cell = row.getCell(1, Row.CREATE_NULL_AS_BLANK);
            cell.setCellValue(name.toString());
        }
        in.close();
        stream.close();

        stream = new FileInputStream("Dominions4.exe");
        stream.skip(Starts.SITE);
        rowNumber = 1;
        // rarity
        int i = 0;
        byte[] c = new byte[1];
        stream.skip(40);
        while ((stream.read(c, 0, 1)) != -1) {
            XSSFRow row = sheet.getRow(rowNumber);
            rowNumber++;
            XSSFCell cell = row.getCell(2, Row.CREATE_NULL_AS_BLANK);
            if (c[0] == -1 || c[0] == 0) {
                //System.out.println("0");
                cell.setCellValue("0");
            } else {
                //System.out.println(c[0]);
                cell.setCellValue(c[0]);
            }
            stream.skip(143l);
            i++;
            if (i >= Starts.SITE_COUNT) {
                break;
            }
        }
        stream.close();

        stream = new FileInputStream("Dominions4.exe");
        stream.skip(Starts.SITE);
        rowNumber = 1;
        // loc
        i = 0;
        c = new byte[2];
        stream.skip(140);
        while ((stream.read(c, 0, 2)) != -1) {
            String high = String.format("%02X", c[1]);
            String low = String.format("%02X", c[0]);
            //System.out.println(Integer.decode("0X" + high + low));
            XSSFRow row = sheet.getRow(rowNumber);
            rowNumber++;
            XSSFCell cell = row.getCell(3, Row.CREATE_NULL_AS_BLANK);
            cell.setCellValue(Integer.decode("0X" + high + low));
            stream.skip(142l);
            i++;
            if (i >= Starts.SITE_COUNT) {
                break;
            }
        }
        stream.close();

        stream = new FileInputStream("Dominions4.exe");
        stream.skip(Starts.SITE);
        rowNumber = 1;
        // level
        i = 0;
        c = new byte[1];
        stream.skip(38);
        while ((stream.read(c, 0, 1)) != -1) {
            String high = String.format("%02X", c[0]);
            //System.out.println(Integer.decode("0X" + high));
            XSSFRow row = sheet.getRow(rowNumber);
            rowNumber++;
            XSSFCell cell = row.getCell(4, Row.CREATE_NULL_AS_BLANK);
            cell.setCellValue(Integer.decode("0X" + high));
            stream.skip(143l);
            i++;
            if (i >= Starts.SITE_COUNT) {
                break;
            }
        }
        stream.close();

        stream = new FileInputStream("Dominions4.exe");
        stream.skip(Starts.SITE);
        rowNumber = 1;
        // path
        String[] paths = { "Fire", "Air", "Water", "Earth", "Astral", "Death", "Nature", "Blood", "Holy" };
        i = 0;
        c = new byte[1];
        stream.skip(36);
        while ((stream.read(c, 0, 1)) != -1) {
            XSSFRow row = sheet.getRow(rowNumber);
            rowNumber++;
            XSSFCell cell = row.getCell(5, Row.CREATE_NULL_AS_BLANK);
            if (c[0] == -1) {
                //System.out.println("");
                cell.setCellValue("");
            } else {
                //System.out.println(paths[c[0]]);
                cell.setCellValue(paths[c[0]]);
            }
            stream.skip(143l);
            i++;
            if (i >= Starts.SITE_COUNT) {
                break;
            }
        }
        stream.close();

        // F
        doit2(sheet, "0100", 6, 92);

        // A
        doit2(sheet, "0200", 7, 93);

        // W
        doit2(sheet, "0300", 8, 94);

        // E
        doit2(sheet, "0400", 9, 95);

        // S
        doit2(sheet, "0500", 10, 96);

        // D
        doit2(sheet, "0600", 11, 97);

        // N
        doit2(sheet, "0700", 12, 98);

        // B
        doit2(sheet, "0800", 13, 99);

        // gold
        doit(sheet, "0D00", 14);

        // res
        doit(sheet, "0E00", 15);

        // sup
        doit(sheet, "1400", 16);

        // unr
        doit(sheet, "1300", 17, new CallbackAdapter() {
            @Override
            public String found(String value) {
                return Integer.toString(-Integer.parseInt(value));
            }
        });

        // exp
        doit(sheet, "1600", 18);

        // lab
        doit(sheet, "0F00", 19, new CallbackAdapter() {
            @Override
            public String found(String value) {
                return "lab";
            }
        });

        // fort
        doit(sheet, "1100", 20);

        stream = new FileInputStream("Dominions4.exe");
        stream.skip(Starts.SITE);
        rowNumber = 1;
        // scales
        String[] scales = { "Turmoil", "Sloth", "Cold", "Death", "Misfortune", "Drain" };
        String[] opposite = { "Order", "Productivity", "Heat", "Growth", "Luck", "Magic" };
        i = 0;
        int k = 0;
        Set<Integer> scalesSet = new HashSet<Integer>();
        Set<Integer> oppositeSet = new HashSet<Integer>();
        long numFound = 0;
        c = new byte[2];
        stream.skip(42);
        while ((stream.read(c, 0, 2)) != -1) {
            String high = String.format("%02X", c[1]);
            String low = String.format("%02X", c[0]);
            int weapon = Integer.decode("0X" + high + low);
            if (weapon == 0) {
                stream.skip(32l - numFound * 2l);
                // Values
                boolean found = false;
                String value[] = { "", "" };
                int index = 0;
                for (int x = 0; x < numFound; x++) {
                    stream.read(c, 0, 2);
                    high = String.format("%02X", c[1]);
                    low = String.format("%02X", c[0]);
                    //System.out.print(low + high + " ");
                    if (oppositeSet.contains(x)) {
                        //int fire = Integer.decode("0X" + high + low);
                        int fire = new BigInteger(new byte[] { c[1], c[0] }).intValue();
                        if (!found) {
                            found = true;
                        } else {
                            //System.out.print("\t");
                        }
                        //System.out.print(opposite[fire]);
                        value[index++] = opposite[fire];
                    }
                    if (scalesSet.contains(x)) {
                        //int fire = Integer.decode("0X" + high + low);
                        int fire = new BigInteger(new byte[] { c[1], c[0] }).intValue();
                        if (!found) {
                            found = true;
                        } else {
                            //System.out.print("\t");
                        }
                        //System.out.print(scales[fire]);
                        value[index++] = scales[fire];
                    }
                    stream.skip(2);
                }

                //System.out.println("");
                XSSFRow row = sheet.getRow(rowNumber);
                rowNumber++;
                if (value[0].length() > 0) {
                    XSSFCell cell = row.getCell(21, Row.CREATE_NULL_AS_BLANK);
                    cell.setCellValue(value[0]);
                }
                if (value[1].length() > 0) {
                    XSSFCell cell = row.getCell(22, Row.CREATE_NULL_AS_BLANK);
                    cell.setCellValue(value[1]);
                }
                stream.skip(142l - 32l - numFound * 4l);
                numFound = 0;
                scalesSet.clear();
                oppositeSet.clear();
                k = 0;
                i++;
            } else {
                //System.out.print(low + high + " ");
                if ((low + high).equals("1F00")) {
                    oppositeSet.add(k);
                }
                if ((low + high).equals("2000")) {
                    scalesSet.add(k);
                }
                k++;
                numFound++;
            }
            if (i >= Starts.SITE_COUNT) {
                break;
            }
        }
        stream.close();

        stream = new FileInputStream("Dominions4.exe");
        stream.skip(Starts.SITE);
        rowNumber = 1;
        // rit/ritr
        i = 0;
        k = 0;
        String rit = "";
        numFound = 0;
        int pos = -1;
        c = new byte[2];
        stream.skip(42);
        while ((stream.read(c, 0, 2)) != -1) {
            String high = String.format("%02X", c[1]);
            String low = String.format("%02X", c[0]);
            int weapon = Integer.decode("0X" + high + low);
            if (weapon == 0) {
                stream.skip(32l - numFound * 2l);
                boolean found = false;
                int value = 0;
                // Values
                for (int x = 0; x < numFound; x++) {
                    stream.read(c, 0, 2);
                    high = String.format("%02X", c[1]);
                    low = String.format("%02X", c[0]);
                    //System.out.print(low + high + " ");
                    if (x == pos) {
                        //int fire = Integer.decode("0X" + high + low);
                        //int fire = new BigInteger(new byte[]{c[1], c[0]}).intValue();
                        //System.out.print(rit + "\t" + fire);
                        found = true;
                        value = new BigInteger(new byte[] { c[1], c[0] }).intValue();
                    }
                    stream.skip(2);
                }

                //System.out.println("");
                XSSFRow row = sheet.getRow(rowNumber);
                rowNumber++;
                XSSFCell cell1 = row.getCell(41, Row.CREATE_NULL_AS_BLANK);
                XSSFCell cell2 = row.getCell(42, Row.CREATE_NULL_AS_BLANK);
                if (found) {
                    cell1.setCellValue(rit);
                    cell2.setCellValue(value);
                } else {
                    cell1.setCellValue("");
                    cell2.setCellValue("");
                }

                stream.skip(142l - 32l - numFound * 4l);
                numFound = 0;
                pos = -1;
                rit = "";
                k = 0;
                i++;
            } else {
                //System.out.print(low + high + " ");
                if ((low + high).equals("FA00")) {
                    rit += "F";
                    pos = k;
                }
                if ((low + high).equals("FB00")) {
                    rit += "A";
                    pos = k;
                }
                if ((low + high).equals("FC00")) {
                    rit += "W";
                    pos = k;
                }
                if ((low + high).equals("FD00")) {
                    rit += "E";
                    pos = k;
                }
                if ((low + high).equals("FE00")) {
                    rit += "S";
                    pos = k;
                }
                if ((low + high).equals("FF00")) {
                    rit += "D";
                    pos = k;
                }
                if ((low + high).equals("0001")) {
                    rit += "N";
                    pos = k;
                }
                if ((low + high).equals("0101")) {
                    rit += "B";
                    pos = k;
                }
                if ((low + high).equals("0401")) {
                    rit += "*";
                    pos = k;
                }
                k++;
                numFound++;
            }
            if (i >= Starts.SITE_COUNT) {
                break;
            }
        }
        stream.close();

        stream = new FileInputStream("Dominions4.exe");
        stream.skip(Starts.SITE);
        rowNumber = 1;
        // hmon
        i = 0;
        k = 0;
        numFound = 0;
        Set<Integer> posSet = new HashSet<Integer>();
        c = new byte[2];
        stream.skip(42);
        while ((stream.read(c, 0, 2)) != -1) {
            String high = String.format("%02X", c[1]);
            String low = String.format("%02X", c[0]);
            int weapon = Integer.decode("0X" + high + low);
            if (weapon == 0) {
                stream.skip(32l - numFound * 2l);
                // Values
                boolean found = false;
                List<Integer> values = new ArrayList<Integer>();
                for (int x = 0; x < numFound; x++) {
                    stream.read(c, 0, 2);
                    high = String.format("%02X", c[1]);
                    low = String.format("%02X", c[0]);
                    if (posSet.contains(x)) {
                        int fire = new BigInteger(new byte[] { c[1], c[0] }).intValue();
                        if (!found) {
                            found = true;
                        } else {
                            //System.out.print("\t");
                        }
                        //System.out.print(fire);
                        values.add(fire);
                    }
                    stream.skip(2);
                }

                //System.out.println("");
                XSSFRow row = sheet.getRow(rowNumber);
                rowNumber++;
                int ind = 0;
                for (Integer mon : values) {
                    XSSFCell cell = row.getCell(43 + ind, Row.CREATE_NULL_AS_BLANK);
                    cell.setCellValue(mon);
                    ind++;
                }
                stream.skip(142l - 32l - numFound * 4l);
                numFound = 0;
                posSet.clear();
                k = 0;
                i++;
            } else {
                //System.out.print(low + high + " ");
                if ((low + high).equals("1D00")) {
                    posSet.add(k);
                }
                k++;
                numFound++;
            }
            if (i >= Starts.SITE_COUNT) {
                break;
            }
        }
        stream.close();

        stream = new FileInputStream("Dominions4.exe");
        stream.skip(Starts.SITE);
        rowNumber = 1;
        // hcom
        i = 0;
        k = 0;
        numFound = 0;
        posSet = new HashSet<Integer>();
        c = new byte[2];
        stream.skip(42);
        while ((stream.read(c, 0, 2)) != -1) {
            String high = String.format("%02X", c[1]);
            String low = String.format("%02X", c[0]);
            int weapon = Integer.decode("0X" + high + low);
            if (weapon == 0) {
                stream.skip(32l - numFound * 2l);
                // Values
                boolean found = false;
                List<Integer> values = new ArrayList<Integer>();
                for (int x = 0; x < numFound; x++) {
                    stream.read(c, 0, 2);
                    high = String.format("%02X", c[1]);
                    low = String.format("%02X", c[0]);
                    if (posSet.contains(x)) {
                        int fire = new BigInteger(new byte[] { c[1], c[0] }).intValue();
                        if (!found) {
                            found = true;
                        } else {
                            //System.out.print("\t");
                        }
                        //System.out.print(fire);
                        values.add(fire);
                    }
                    stream.skip(2);
                }

                //System.out.println("");
                XSSFRow row = sheet.getRow(rowNumber);
                rowNumber++;
                int ind = 0;
                for (Integer mon : values) {
                    XSSFCell cell = row.getCell(73 + ind, Row.CREATE_NULL_AS_BLANK);
                    cell.setCellValue(mon);
                    ind++;
                }
                stream.skip(142l - 32l - numFound * 4l);
                numFound = 0;
                posSet.clear();
                k = 0;
                i++;
            } else {
                //System.out.print(low + high + " ");
                if ((low + high).equals("1E00")) {
                    posSet.add(k);
                }
                k++;
                numFound++;
            }
            if (i >= Starts.SITE_COUNT) {
                break;
            }
        }
        stream.close();

        stream = new FileInputStream("Dominions4.exe");
        stream.skip(Starts.SITE);
        rowNumber = 1;
        // mon
        i = 0;
        k = 0;
        numFound = 0;
        posSet = new HashSet<Integer>();
        c = new byte[2];
        stream.skip(42);
        while ((stream.read(c, 0, 2)) != -1) {
            String high = String.format("%02X", c[1]);
            String low = String.format("%02X", c[0]);
            int weapon = Integer.decode("0X" + high + low);
            if (weapon == 0) {
                stream.skip(32l - numFound * 2l);
                // Values
                boolean found = false;
                List<Integer> values = new ArrayList<Integer>();
                for (int x = 0; x < numFound; x++) {
                    stream.read(c, 0, 2);
                    high = String.format("%02X", c[1]);
                    low = String.format("%02X", c[0]);
                    if (posSet.contains(x)) {
                        int fire = new BigInteger(new byte[] { c[1], c[0] }).intValue();
                        if (!found) {
                            found = true;
                        } else {
                            //System.out.print("\t");
                        }
                        //System.out.print(fire);
                        values.add(fire);
                    }
                    stream.skip(2);
                }

                //System.out.println("");
                XSSFRow row = sheet.getRow(rowNumber);
                rowNumber++;
                int ind = 0;
                for (Integer mon : values) {
                    XSSFCell cell = row.getCell(78 + ind, Row.CREATE_NULL_AS_BLANK);
                    cell.setCellValue(mon);
                    ind++;
                }
                stream.skip(142l - 32l - numFound * 4l);
                numFound = 0;
                posSet.clear();
                k = 0;
                i++;
            } else {
                //System.out.print(low + high + " ");
                if ((low + high).equals("0B00")) {
                    posSet.add(k);
                }
                k++;
                numFound++;
            }
            if (i >= Starts.SITE_COUNT) {
                break;
            }
        }
        stream.close();

        stream = new FileInputStream("Dominions4.exe");
        stream.skip(Starts.SITE);
        rowNumber = 1;
        // com
        i = 0;
        k = 0;
        numFound = 0;
        posSet = new HashSet<Integer>();
        c = new byte[2];
        stream.skip(42);
        while ((stream.read(c, 0, 2)) != -1) {
            String high = String.format("%02X", c[1]);
            String low = String.format("%02X", c[0]);
            int weapon = Integer.decode("0X" + high + low);
            if (weapon == 0) {
                stream.skip(32l - numFound * 2l);
                // Values
                boolean found = false;
                List<Integer> values = new ArrayList<Integer>();
                for (int x = 0; x < numFound; x++) {
                    stream.read(c, 0, 2);
                    high = String.format("%02X", c[1]);
                    low = String.format("%02X", c[0]);
                    if (posSet.contains(x)) {
                        int fire = new BigInteger(new byte[] { c[1], c[0] }).intValue();
                        if (!found) {
                            found = true;
                        } else {
                            //System.out.print("\t");
                        }
                        //System.out.print(fire);
                        values.add(fire);
                    }
                    stream.skip(2);
                }

                //System.out.println("");
                XSSFRow row = sheet.getRow(rowNumber);
                rowNumber++;
                int ind = 0;
                for (Integer mon : values) {
                    XSSFCell cell = row.getCell(83 + ind, Row.CREATE_NULL_AS_BLANK);
                    cell.setCellValue(mon);
                    ind++;
                }
                stream.skip(142l - 32l - numFound * 4l);
                numFound = 0;
                posSet.clear();
                k = 0;
                i++;
            } else {
                //System.out.print(low + high + " ");
                if ((low + high).equals("0C00")) {
                    posSet.add(k);
                }
                k++;
                numFound++;
            }
            if (i >= Starts.SITE_COUNT) {
                break;
            }
        }
        stream.close();

        stream = new FileInputStream("Dominions4.exe");
        stream.skip(Starts.SITE);
        rowNumber = 1;
        // provdef
        i = 0;
        k = 0;
        numFound = 0;
        posSet = new HashSet<Integer>();
        c = new byte[2];
        stream.skip(42);
        while ((stream.read(c, 0, 2)) != -1) {
            String high = String.format("%02X", c[1]);
            String low = String.format("%02X", c[0]);
            int weapon = Integer.decode("0X" + high + low);
            if (weapon == 0) {
                stream.skip(32l - numFound * 2l);
                // Values
                boolean found = false;
                List<Integer> values = new ArrayList<Integer>();
                for (int x = 0; x < numFound; x++) {
                    stream.read(c, 0, 2);
                    high = String.format("%02X", c[1]);
                    low = String.format("%02X", c[0]);
                    if (posSet.contains(x)) {
                        int fire = new BigInteger(new byte[] { c[1], c[0] }).intValue();
                        if (!found) {
                            found = true;
                        } else {
                            //System.out.print("\t");
                        }
                        //System.out.print(fire);
                        values.add(fire);
                    }
                    stream.skip(2);
                }

                //System.out.println("");
                XSSFRow row = sheet.getRow(rowNumber);
                rowNumber++;
                int ind = 0;
                for (Integer mon : values) {
                    XSSFCell cell = row.getCell(89 + ind, Row.CREATE_NULL_AS_BLANK);
                    cell.setCellValue(mon);
                    ind++;
                }
                stream.skip(142l - 32l - numFound * 4l);
                numFound = 0;
                posSet.clear();
                k = 0;
                i++;
            } else {
                //System.out.print(low + high + " ");
                if ((low + high).equals("E000")) {
                    posSet.add(k);
                }
                k++;
                numFound++;
            }
            if (i >= Starts.SITE_COUNT) {
                break;
            }
        }
        stream.close();

        // conj
        doit(sheet, "3C00", 55, new CallbackAdapter() {
            @Override
            public String found(String value) {
                return value + "%";
            }
        });

        // alter
        doit(sheet, "3D00", 56, new CallbackAdapter() {
            @Override
            public String found(String value) {
                return value + "%";
            }
        });

        // evo
        doit(sheet, "3E00", 57, new CallbackAdapter() {
            @Override
            public String found(String value) {
                return value + "%";
            }
        });

        // const
        doit(sheet, "3F00", 58, new CallbackAdapter() {
            @Override
            public String found(String value) {
                return value + "%";
            }
        });

        // ench
        doit(sheet, "4000", 59, new CallbackAdapter() {
            @Override
            public String found(String value) {
                return value + "%";
            }
        });

        // thau
        doit(sheet, "4100", 60, new CallbackAdapter() {
            @Override
            public String found(String value) {
                return value + "%";
            }
        });

        // blood
        doit(sheet, "4200", 61, new CallbackAdapter() {
            @Override
            public String found(String value) {
                return value + "%";
            }
        });

        // heal
        doit(sheet, "4600", 62, new CallbackAdapter() {
            @Override
            public String found(String value) {
                return value + "%";
            }
        });

        // disease
        doit(sheet, "1500", 63, new CallbackAdapter() {
            @Override
            public String found(String value) {
                return value + "%";
            }
        });

        // curse
        doit(sheet, "4700", 64, new CallbackAdapter() {
            @Override
            public String found(String value) {
                return value + "%";
            }
        });

        // horror
        doit(sheet, "1800", 65, new CallbackAdapter() {
            @Override
            public String found(String value) {
                return value + "%";
            }
        });

        // holyfire
        doit(sheet, "4400", 66, new CallbackAdapter() {
            @Override
            public String found(String value) {
                return value + "%";
            }
        });

        // holypower
        doit(sheet, "4300", 67, new CallbackAdapter() {
            @Override
            public String found(String value) {
                return value + "%";
            }
        });

        // scry
        doit(sheet, "4800", 68);

        // adventure
        doit(sheet, "C000", 69);

        // voidgate
        doit(sheet, "3900", 48, new CallbackAdapter() {
            @Override
            public String found(String value) {
                return value + "%";
            }
        });

        stream = new FileInputStream("Dominions4.exe");
        stream.skip(Starts.SITE);
        rowNumber = 1;
        // summoning
        i = 0;
        k = 0;
        posSet = new HashSet<Integer>();
        int sum1 = 0;
        int sum1count = 0;
        int sum2 = 0;
        int sum2count = 0;
        int sum3 = 0;
        int sum3count = 0;
        int sum4 = 0;
        int sum4count = 0;
        numFound = 0;
        c = new byte[2];
        stream.skip(42);
        while ((stream.read(c, 0, 2)) != -1) {
            String high = String.format("%02X", c[1]);
            String low = String.format("%02X", c[0]);
            int weapon = Integer.decode("0X" + high + low);
            if (weapon == 0) {
                stream.skip(32l - numFound * 2l);
                // Values
                for (int x = 0; x < numFound; x++) {
                    stream.read(c, 0, 2);
                    high = String.format("%02X", c[1]);
                    low = String.format("%02X", c[0]);
                    if (posSet.contains(x)) {
                        int fire = new BigInteger(new byte[] { c[1], c[0] }).intValue();
                        if (sum1 == 0 || sum1 == fire) {
                            sum1 = fire;
                            sum1count++;
                        } else if (sum2 == 0 || sum2 == fire) {
                            sum2 = fire;
                            sum2count++;
                        } else if (sum3 == 0 || sum3 == fire) {
                            sum3 = fire;
                            sum3count++;
                        } else if (sum4 == 0 || sum4 == fire) {
                            sum4 = fire;
                            sum4count++;
                        }
                    }
                    stream.skip(2);
                }

                XSSFRow row = sheet.getRow(rowNumber);
                rowNumber++;
                //String sum = "";
                if (sum1 > 0) {
                    //sum += sum1 + "\t" + sum1count;
                    XSSFCell cell1 = row.getCell(49, Row.CREATE_NULL_AS_BLANK);
                    cell1.setCellValue(sum1);
                    XSSFCell cell2 = row.getCell(50, Row.CREATE_NULL_AS_BLANK);
                    cell2.setCellValue(sum1count);

                }
                if (sum2 > 0) {
                    //sum += "\t" + sum2 + "\t" + sum2count;
                    XSSFCell cell1 = row.getCell(51, Row.CREATE_NULL_AS_BLANK);
                    cell1.setCellValue(sum2);
                    XSSFCell cell2 = row.getCell(52, Row.CREATE_NULL_AS_BLANK);
                    cell2.setCellValue(sum2count);
                }
                if (sum3 > 0) {
                    //sum += "\t" + sum3 + "\t" + sum3count;
                    XSSFCell cell1 = row.getCell(53, Row.CREATE_NULL_AS_BLANK);
                    cell1.setCellValue(sum3);
                    XSSFCell cell2 = row.getCell(54, Row.CREATE_NULL_AS_BLANK);
                    cell2.setCellValue(sum3count);
                }
                if (sum4 > 0) {
                    //sum += "\t" + sum3 + "\t" + sum3count;
                    XSSFCell cell1 = row.getCell(71, Row.CREATE_NULL_AS_BLANK);
                    cell1.setCellValue(sum4);
                    XSSFCell cell2 = row.getCell(72, Row.CREATE_NULL_AS_BLANK);
                    cell2.setCellValue(sum4count);
                }
                //System.out.println(sum);
                stream.skip(142l - 32l - numFound * 4l);
                numFound = 0;
                posSet.clear();
                k = 0;
                sum1 = 0;
                sum1count = 0;
                sum2 = 0;
                sum2count = 0;
                sum3 = 0;
                sum3count = 0;
                sum4 = 0;
                sum4count = 0;
                i++;
            } else {
                //System.out.print(low + high + " ");
                if ((low + high).equals("1200")) {
                    posSet.add(k);
                }
                k++;
                numFound++;
            }
            if (i >= Starts.SITE_COUNT) {
                break;
            }
        }
        stream.close();

        // domspread
        doit(sheet, "1501", 23);

        // turmoil/order
        doit(sheet, "1901", 24);

        // sloth/prod
        doit(sheet, "1A01", 25);

        // cold/heat
        doit(sheet, "1B01", 26);

        // death/growth
        doit(sheet, "1C01", 27);

        // misfortune/luck
        doit(sheet, "1D01", 28);

        // drain/magic
        doit(sheet, "1E01", 29);

        // fire resistence
        doit(sheet, "FB01", 30);

        // cold resistence
        doit(sheet, "FC01", 31);

        // str
        doit(sheet, "FA01", 34);

        // prec
        doit(sheet, "0402", 35);

        // mor
        doit(sheet, "F401", 36);

        // shock resistence
        doit(sheet, "FD01", 32);

        // undying
        doit(sheet, "F801", 37);

        // att
        doit(sheet, "F501", 38);

        // poison resistence
        doit(sheet, "FE01", 33);

        // darkvision
        doit(sheet, "0302", 39);

        // animal awe
        doit(sheet, "0102", 40);

        // reveal
        doit(sheet, "0601", 88);

        // def
        doit(sheet, "F601", 91);

        // awe
        doit(sheet, "0202", 100);

        // reinvigoration
        doit(sheet, "FF01", 101);

        // airshield
        doit(sheet, "0002", 102);

        // provdefcom
        doit(sheet, "4A00", 103);

        wb.write(fos);
        fos.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (stream != null) {
            try {
                stream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

From source file:xlsxtocsv.java

static void convertToXlsx(File inputFile, File outputFile) {
    // For storing data into CSV files
    StringBuffer cellValue = new StringBuffer();
    try {//  w  ww .j  a  va  2s.co  m
        FileOutputStream fos = new FileOutputStream(outputFile);

        // Get the workbook instance for XLSX file
        XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(inputFile));

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

        Row row;
        Cell cell;

        // Iterate through each rows from first sheet
        Iterator<Row> rowIterator = sheet.iterator();

        while (rowIterator.hasNext()) {
            row = rowIterator.next();

            // For each row, iterate through each columns
            Iterator<Cell> cellIterator = row.cellIterator();
            while (cellIterator.hasNext()) {
                cell = cellIterator.next();

                switch (cell.getCellType()) {

                case Cell.CELL_TYPE_BOOLEAN:
                    cellValue.append(cell.getBooleanCellValue() + ",");
                    break;

                case Cell.CELL_TYPE_NUMERIC:
                    cellValue.append(cell.getNumericCellValue() + ",");
                    break;

                case Cell.CELL_TYPE_STRING:
                    cellValue.append(cell.getStringCellValue() + ",");
                    break;

                case Cell.CELL_TYPE_BLANK:
                    cellValue.append("" + ",");
                    break;

                default:
                    cellValue.append(cell + ",");

                }
            }

            cellValue.append("\n");
        }

        fos.write(cellValue.toString().getBytes());
        fos.close();

    } catch (Exception e) {
        System.err.println("Exception :" + e.getMessage());
    }
}

From source file:ReadSheet2.java

public HashMap finalOutput(String path) throws IOException {

    FileInputStream fs = new FileInputStream(new File(path));
    XSSFWorkbook wb = new XSSFWorkbook(fs);
    XSSFSheet sheet = wb.getSheetAt(2);
    /*      Object [][] hardcodeValues = {{2,5,"SAMPLE TYPE"},{6,5,"EARLY COMPETION TIME"},{3,13,"Add. Cuts"}, {3,14,"Total"},{6,14,"SAMPLE PLAN END DATE & TIME"},
        {14,0,"Confirmation From Stores"},{14,10,"DATE",14,15,"TIME:"},{15,0,"Verification (G.Tech)"},{15,10,"DATE"},{15,15,"TIME:"},
        {17,0,"CUTTING TEAM :"},{17,15,"CUT DATE :"},{18,0,"CUTTER/S NAME :"},{18,15,"CUT TIME :"} ,
        {26,0,"CPI DONE BY :"},{26,16,"VERIFICATION DONE BY :"},{27,0,"COMMENTS :"},{27,16,"COMMENTS :"}};
    *///w  ww . ja v  a  2s  . c o m
    System.out.println("---------------------------- Reading sheet2 -----------------------------------------");
    HashMap<String, Object> sheet2 = new HashMap();
    try {
        reader.hardCodeValidator(sheet, sheet2HardcodeValues);
    } catch (RuntimeException ex) {

    }

    try {
        sheet2.putAll(readTable1(path));
    } catch (RuntimeException ex) {

    }

    try {
        sheet2.putAll(readTable2(path));
    } catch (RuntimeException ex) {

    }
    try {
        sheet2.putAll(readTable3(path));
    } catch (RuntimeException ex) {

    }
    try {
        sheet2.putAll(readTable4(path));
    } catch (RuntimeException ex) {

    }

    System.out.println("Sheet 2 fully validated");
    return sheet2;
}

From source file:ReadSheet2.java

public HashMap readTable1(String path) throws IOException {

    HashMap<String, Object> table1part1 = new HashMap();
    HashMap<String, Object> table1part2 = new HashMap();
    HashMap<String, Object> table1 = new HashMap();
    HashMap<String, Object> sizeMetrix = new HashMap();
    FileInputStream fs = new FileInputStream(new File(path));
    XSSFWorkbook wb = new XSSFWorkbook(fs);
    XSSFSheet sheet = wb.getSheetAt(2);

    /*/*from  w ww.j  a  v a  2 s. c o  m*/
    Read Table 1 of the sheet 1
    */

    //String [] headerArray1 = {"BUSINESS DIVISION","CUSTOMER NAME/CATEGORY","SEASON","STYLE NO","SAMPLE SMV"};
    //String [] headerArray2 = {"SILHOUETTE","MERCHANT NAME","GARMENT TECH NAME"};
    //int rowIndexOfHeaderStart, int columnIndexOfHeaders, String[] headerArray
    int[] rawHeaders = reader.rowHeaderValidator(sheet, 2, 0, sheet2Table1HeaderArray1);
    int[] rawheaders2 = reader.rowHeaderValidator(sheet, 2, 15, sheet2Table1HeaderArray2);
    //
    table1part1 = reader.readRowHeaderTable(sheet, 0, rawHeaders, 2, 2);
    table1part2 = reader.readRowHeaderTable(sheet, 15, rawheaders2, 17, 17);
    //table1.putAll(table1part1);
    //table1.putAll(table1part2);

    /** ----------------------------------------------------------------------------------------------------------------------- **/

    //String [] headerArray3 = {"QTY" };
    //String [] headerArray4 = {"XS","S","M","L","XL","XXL" };
    //int rowIndexOfHeaderStart, int columnIndexOfHeaders, String[] headerArray

    int[] rawheaders3 = reader.rowHeaderValidator(sheet, 3, 5, sheet2SizeMetrixRows);
    int[] columnHeaders4 = reader.columnHeaderValidator(sheet, 3, sheet2SizeMetrixColumns);

    //
    //int [] rawHeaders3={3,4};
    //int [] rawheaders4 ={5,7,8,9,10,11,12};

    table1part2 = reader.readColumnAndRowHeaderTable(sheet, 3, 7, columnHeaders4, 3, 4, rawheaders3);

    table1.put("cutting metrix", table1part2);

    table1.put(reader.getValue(sheet.getRow(3).getCell(13)).toString(),
            reader.getValue(sheet.getRow(4).getCell(13)));
    table1.put(reader.getValue(sheet.getRow(3).getCell(14)).toString(),
            reader.getValue(sheet.getRow(4).getCell(14)));

    table1.put(reader.getValue(sheet.getRow(2).getCell(5)).toString(),
            reader.getValue(sheet.getRow(5).getCell(7)));
    table1.put(reader.getValue(sheet.getRow(6).getCell(5)).toString(),
            reader.getValue(sheet.getRow(6).getCell(7)));
    table1.put(reader.getValue(sheet.getRow(6).getCell(14)).toString(),
            reader.getValue(sheet.getRow(6).getCell(17)));

    return table1;

}

From source file:ReadSheet2.java

public HashMap readTable2(String path) throws IOException {

    HashMap<String, Object> table2part1 = new HashMap();
    HashMap<String, Object> table2part2 = new HashMap();
    HashMap<String, Object> table2 = new HashMap();
    HashMap<String, Object> conformation = new HashMap();
    HashMap<String, Object> verification = new HashMap();

    FileInputStream fs = new FileInputStream(new File(path));
    XSSFWorkbook wb = new XSSFWorkbook(fs);
    XSSFSheet sheet = wb.getSheetAt(2);

    /*/*w  ww  . java  2 s  .  co  m*/
    Read Table 1 of the sheet 1
    */

    //String [] headerArray1 = {"MARKER #","IM #","FABRIC COLOR","Fabric Face","SPECIAL NOTES"};
    //String [] headerArray2 = {"MARKER A","MARKER B","MARKER C","MARKER D","MARKER E","MARKER F"};
    //int rowIndexOfHeaderStart, int columnIndexOfHeaders, String[] headerArray

    int[] rawHeaders = reader.columnHeaderValidator(sheet, 9, sheet2FabricDetailsColumns);
    int[] rawheaders2 = reader.rowHeaderValidator(sheet, 9, 0, sheet2FabricDetailsRows);
    //
    table2part1 = reader.readColumnAndRowHeaderTable(sheet, 9, 0, rawHeaders, 9, 13, rawheaders2);

    table2.put("Marker", table2part1);
    //----------------------------
    conformation.put(reader.getValue(sheet.getRow(14).getCell(0)).toString(),
            reader.getValue(sheet.getRow(14).getCell(3)));

    String temp = reader.getValue(sheet.getRow(14).getCell(10)).toString();
    String key = temp.substring(0, 4);
    String value = temp.substring(4);
    if (temp.length() > 4) {
        conformation.put(key, value);
    } else
        conformation.put(temp, "");
    conformation.put(reader.getValue(sheet.getRow(14).getCell(15)).toString(),
            reader.getValue(sheet.getRow(14).getCell(17)));

    table2.put("conformation", conformation);

    //--------------------------------
    verification.put(reader.getValue(sheet.getRow(15).getCell(0)).toString(),
            reader.getValue(sheet.getRow(15).getCell(3)));

    String temp1 = reader.getValue(sheet.getRow(15).getCell(10)).toString();
    String key1 = temp1.substring(0, 4);
    String value1 = temp1.substring(4);
    if (temp1.length() > 4) {
        verification.put(key1, value1);
    } else
        verification.put(temp1, "");

    verification.put(reader.getValue(sheet.getRow(15).getCell(15)).toString(),
            reader.getValue(sheet.getRow(15).getCell(17)));

    table2.put("verification", verification);

    return table2;

}

From source file:ReadSheet2.java

public HashMap readTable3(String path) throws IOException {

    HashMap<String, Object> table3part1 = new HashMap();
    HashMap<String, Object> table3part2 = new HashMap();
    HashMap<String, Object> table3 = new HashMap();
    HashMap<String, Object> conformation = new HashMap();
    HashMap<String, Object> verification = new HashMap();

    FileInputStream fs = new FileInputStream(new File(path));
    XSSFWorkbook wb = new XSSFWorkbook(fs);
    XSSFSheet sheet = wb.getSheetAt(2);

    /*//  ww  w.  j av  a  2 s .c  o  m
    Read Table 1 of the sheet 1
    */

    //String [] headerArray1 = {"SIZE","RATIO","NO OF PLIES","TOTAL CUT QTY","REQUIRED QTY"};
    //String [] headerArray2 = {"XS","S","M","L","XL" };
    //int rowIndexOfHeaderStart, int columnIndexOfHeaders, String[] headerArray

    int[] rawHeaders = reader.columnHeaderValidator(sheet, 19, sheet2CuttingInfoColumns);
    int[] rawheaders2 = reader.rowHeaderValidator(sheet, 19, 0, sheet2CuttingInfoRows);
    //
    table3part1 = reader.readColumnAndRowHeaderTable(sheet, 19, 0, rawHeaders, 19, 23, rawheaders2);

    table3.put("cutting metrix", table3part1);
    //----------------------------

    String temp = reader.getValue(sheet.getRow(17).getCell(0)).toString();
    String key = temp.substring(0, 14);
    String value = temp.substring(14);
    if (temp.length() > 13) {
        table3.put(key, value);
    } else
        table3.put(temp, "");

    String temp1 = reader.getValue(sheet.getRow(18).getCell(0)).toString();
    String key1 = temp1.substring(0, 14);
    String value1 = temp1.substring(14);
    if (temp1.length() > 15) {
        table3.put(key1, value1);
    } else
        table3.put(temp1, "");

    String temp2 = reader.getValue(sheet.getRow(17).getCell(15)).toString();
    String key2 = temp2.substring(0, 10);
    String value2 = temp2.substring(10);
    if (temp2.length() > 10) {
        table3.put(key2, value2);
    } else
        table3.put(temp2, "");

    String temp3 = reader.getValue(sheet.getRow(18).getCell(15)).toString();
    String key3 = temp3.substring(0, 10);
    String value3 = temp3.substring(10);
    if (temp3.length() > 10) {
        table3.put(key3, value3);
    } else
        table3.put(temp3, "");

    return table3;

}

From source file:ReadSheet2.java

public HashMap readTable4(String path) throws IOException {

    HashMap<String, Object> table4 = new HashMap();
    HashMap<String, Object> cutverification = new HashMap();
    HashMap<String, Object> cpiverification = new HashMap();

    FileInputStream fs = new FileInputStream(new File(path));
    XSSFWorkbook wb = new XSSFWorkbook(fs);
    XSSFSheet sheet = wb.getSheetAt(2);

    String temp = reader.getValue(sheet.getRow(26).getCell(0)).toString();
    String key = temp.substring(0, 13);
    String value = temp.substring(13);
    if (temp.length() > 13) {
        cpiverification.put(key, value);
    } else/*from w w w  . j  av a  2 s .  c o  m*/
        cpiverification.put(temp, "");

    String temp1 = reader.getValue(sheet.getRow(27).getCell(0)).toString();
    String key1 = temp1.substring(0, 10);
    String value1 = temp1.substring(10);
    if (temp1.length() > 10) {
        cpiverification.put(key1, value1);
    } else
        cpiverification.put(temp1, "");

    table4.put("CPI VERIFICATION", cpiverification);
    //------------------------------------

    String temp2 = reader.getValue(sheet.getRow(26).getCell(16)).toString();
    String key2 = temp2.substring(0, 22);
    String value2 = temp2.substring(22);
    if (temp2.length() > 22) {
        cutverification.put(key2, value2);
    } else
        cutverification.put(temp2, "");

    String temp3 = reader.getValue(sheet.getRow(27).getCell(16)).toString();
    String key3 = temp3.substring(0, 10);
    String value3 = temp3.substring(10);
    if (temp3.length() > 10) {
        cutverification.put(key3, value3);
    } else
        cutverification.put(temp3, "");

    table4.put("Cut BANK VERIFICATION", cutverification);
    return table4;

}