List of usage examples for org.apache.poi.xssf.usermodel XSSFSheet getRow
@Override public XSSFRow getRow(int rownum)
From source file:ExcelConverter.java
public List<ScheduleClass> Converter() 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;/*w w w . j a va 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(j); if (cell.getStringCellValue().contains("No.")) { rowNoIdx = j; colNoIdx = cell.getColumnIndex(); break outerloop; } } } outerloop2: for (int i = 0; i < sheet.getLastRowNum(); i++) { row = sheet.getRow(i); outerloop: for (int j = 0; j < row.getLastCellNum(); j++) { Cell cell = row.getCell(j); FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator(); if (cell.getColumnIndex() == colNoIdx && i > rowNoIdx + 3 && evaluator.evaluate(cell).getCellType() != Cell.CELL_TYPE_NUMERIC) { i = sheet.getLastRowNum(); break outerloop2; } if (cell.getRowIndex() > rowNoIdx + 1 && cell.getColumnIndex() == (colNoIdx + 1)) { String delims = "[,. ]"; String[] sumary = cell.getStringCellValue().split(delims); for (int l = 0; l < sumary.length; l++) { if (sumary[l].equalsIgnoreCase("Mrt")) { sumary[l] = "3"; } } lc = LocalDate.of(Integer.parseInt(sumary[5]), Integer.parseInt(sumary[3]), Integer.parseInt(sumary[2])); } if (cell.getRowIndex() > rowNoIdx + 1 && cell.getColumnIndex() == (colNoIdx + 2)) { if (cell.getStringCellValue().equalsIgnoreCase("LIBUR")) { i = i + 1; break outerloop; } else { String delimsJam = "[-]"; String[] arrJam = cell.getStringCellValue().split(delimsJam); for (int k = 0; k < arrJam.length; k++) { arrJam[k] = arrJam[k].replace('.', ':'); } lt = LocalTime.parse(arrJam[0]); } } if (cell.getRowIndex() > rowNoIdx + 1 && cell.getColumnIndex() == (colNoIdx + 5)) { subject = cell.getStringCellValue(); } if (cell.getRowIndex() > rowNoIdx && cell.getColumnIndex() >= colNoIdx + 6 && cell.getColumnIndex() < row.getLastCellNum()) { if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) { } 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"); } } 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()); } } } 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(""); } } else { if (!c.getStringCellValue().isEmpty()) { dosen.add(""); location.add(""); } } } } } for (int j = 0; j < dosen.size(); j++) { scheduleList .add(new ScheduleClass(lc, lt, lt.plusHours(2), subject, dosen.get(j), location.get(j))); } dosen.clear(); location.clear(); } return Mergering(scheduleList); }
From source file:FenetrePrincipal.java
/** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor./* w w w.j av a2 s.co m*/ */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jScrollBar1 = new JScrollBar(); jPanelOption = new JPanel(); jPanelBanniere = new JPanel(); jLabelBanniere = new JLabel(); jPanel4 = new JPanel(); jLabel1 = new JLabel(); jPanelCentre = new JPanel(); jScrollPane1 = new JScrollPane(); jTable1 = new JTable(); jMenuBar1 = new JMenuBar(); jMenu1 = new JMenu(); jMenu2 = new JMenu(); ajouterBouton = new JButton("Ajouter Etudiant"); statBouton = new JButton(" Satistiques "); jPanelBouton1 = new JPanel(); jPanelBouton2 = new JPanel(); pdfBouton = new JButton(" Exporter Pdf "); exportBouton = new JButton("Exporter Fichier "); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); getContentPane().setLayout(new javax.swing.BoxLayout(getContentPane(), javax.swing.BoxLayout.LINE_AXIS)); jLabelBanniere.setText(""); javax.swing.GroupLayout jPanelBanniereLayout = new javax.swing.GroupLayout(jPanelBanniere); jPanelBanniere.setLayout(jPanelBanniereLayout); jPanelBanniereLayout.setHorizontalGroup(jPanelBanniereLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jLabelBanniere, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)); jPanelBanniereLayout .setVerticalGroup( jPanelBanniereLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanelBanniereLayout.createSequentialGroup() .addComponent(jLabelBanniere, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, Short.MAX_VALUE))); jPanel4.setLayout(new java.awt.GridLayout(4, 1)); jLabel1.setText(""); jPanel4.add(jPanelBouton1); jPanel4.add(jPanelBouton2); jPanelBouton1.add(ajouterBouton); jPanelBouton1.add(statBouton); jPanelBouton2.add(exportBouton); jPanelBouton2.add(pdfBouton); try { File excel = new File("results.xlsx"); FileInputStream fis = new FileInputStream(excel); XSSFWorkbook wb = new XSSFWorkbook(fis); XSSFSheet ws = wb.getSheet("M1 Informatique - S8 - Pre-insc"); rowNum = ws.getLastRowNum() + 1; colNum = ws.getRow(0).getLastCellNum(); data = new String[rowNum][colNum]; for (int i = 0; i < rowNum; i++) { XSSFRow row = ws.getRow(i); for (int j = 0; j < colNum; j++) { XSSFCell cell = row.getCell(j); String value = cellToString(cell); data[i][j] = value; System.out.println("The value is : " + value); } } } catch (FileNotFoundException e) { // TODO Auto-generated catch block System.out.println("Erreur"); e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } String[] entetes = new String[colNum]; for (int i = 0; i < colNum; i++) { entetes[i] = data[0][i]; } jTable1.setModel(new javax.swing.table.DefaultTableModel(data, entetes)); jScrollPane1.setViewportView(jTable1); jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); javax.swing.GroupLayout jPanelCentreLayout = new javax.swing.GroupLayout(jPanelCentre); jPanelCentre.setLayout(jPanelCentreLayout); jPanelCentreLayout.setHorizontalGroup(jPanelCentreLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanelCentreLayout.createSequentialGroup().addContainerGap() .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 465, Short.MAX_VALUE) .addContainerGap())); jPanelCentreLayout.setVerticalGroup(jPanelCentreLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanelCentreLayout.createSequentialGroup().addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 481, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, Short.MAX_VALUE))); javax.swing.GroupLayout jPanelOptionLayout = new javax.swing.GroupLayout(jPanelOption); jPanelOption.setLayout(jPanelOptionLayout); jPanelOptionLayout.setHorizontalGroup( jPanelOptionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jPanelBanniere, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(jPanelOptionLayout.createSequentialGroup() .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanelCentre, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); jPanelOptionLayout.setVerticalGroup(jPanelOptionLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanelOptionLayout.createSequentialGroup() .addComponent(jPanelBanniere, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanelOptionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jPanelCentre, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))); getContentPane().add(jPanelOption); jMenu1.setText("Fichier"); jMenuBar1.add(jMenu1); JMenuItem importer = new JMenuItem("Importer"); JMenuItem exporter = new JMenuItem("Exporter"); jMenu1.add(importer); jMenu1.add(exporter); jMenu2.setText("Edition"); jMenuBar1.add(jMenu2); setJMenuBar(jMenuBar1); importer.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub //FileExtensionFilterDemo f = new FileExtensionFilterDemo(); showOpenFileDialog(); } }); pack(); }
From source file:Authenticator.java
static boolean authenticate(String username, String path) { int i = 0;//from ww w. j ava 2 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: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;//from ww w.j a va2 s .c o 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 doit2(XSSFSheet sheet, String attr, int column, int column2) throws IOException { FileInputStream stream = new FileInputStream("Dominions4.exe"); stream.skip(Starts.SITE);// w w w.jav a2 s.c o m int rowNumber = 1; int i = 0; int k = 0; int numFound = 0; Set<Integer> posSet = new HashSet<Integer>(); byte[] 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) { if (ind == 0) { XSSFCell cell = row.getCell(column, Row.CREATE_NULL_AS_BLANK); cell.setCellValue(mon); } else { XSSFCell cell = row.getCell(column2, 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(attr)) { posSet.add(k); } k++; numFound++; } if (i >= Starts.SITE_COUNT) { break; } } stream.close(); }
From source file:SiteStatIndexer.java
License:Open Source License
public static void doit(XSSFSheet sheet, String attr, int column, Callback callback) throws IOException { FileInputStream stream = new FileInputStream("Dominions4.exe"); stream.skip(Starts.SITE);/* w w w . ja v a2 s .c o m*/ int rowNumber = 1; int i = 0; int k = 0; int pos = -1; long numFound = 0; byte[] 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) { boolean found = false; int value = 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]); //System.out.print(low + high + " "); if (x == pos) { int tmp = new BigInteger(high + low, 16).intValue(); if (tmp < 1000) { value = Integer.decode("0X" + high + low); } else { value = new BigInteger("FFFF" + high + low, 16).intValue(); } //System.out.print(fire); found = true; } stream.skip(2); } //System.out.println(""); XSSFRow row = sheet.getRow(rowNumber); rowNumber++; XSSFCell cell = row.getCell(column, Row.CREATE_NULL_AS_BLANK); if (found) { if (callback == null) { cell.setCellValue(value); } else { cell.setCellValue(callback.found(Integer.toString(value))); } } else { if (callback == null) { cell.setCellValue(""); } else { cell.setCellValue(callback.notFound()); } } stream.skip(142l - 32l - numFound * 4l); numFound = 0; pos = -1; k = 0; i++; } else { //System.out.print(low + high + " "); if ((low + high).equals(attr)) { pos = k; } k++; numFound++; } if (i >= Starts.SITE_COUNT) { break; } } stream.close(); }
From source file:SiteStatIndexer.java
License:Open Source License
public static void run() { FileInputStream stream = null; try {/* w w w.j a v 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: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); /*/* w ww. j ava 2 s .co 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); /*/*from w w w.ja v a 2 s . c o 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); /*//from www .j a v a2 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; }