List of usage examples for org.apache.poi.xssf.usermodel XSSFSheet iterator
@Override
public Iterator<Row> iterator()
From source file:onboardsoftware.ReadXLSX.java
public ArrayList<Task> getTasks(String tabela) { ArrayList<Task> tasks = new ArrayList<Task>(); FileInputStream spreadSheet = null; try {// ww w.j av a 2s .c o m File file = new File(tabela); spreadSheet = new FileInputStream(file); try { //planilha com todas as abas XSSFWorkbook workbook = new XSSFWorkbook(spreadSheet); //primeira planilha XSSFSheet sheet = workbook.getSheetAt(0); //todas as linhas da planilha[0] Iterator<Row> rowIterator = sheet.iterator(); //varre todas as linhas da planilha[0] while (rowIterator.hasNext()) { //pegando cada linha Row row = rowIterator.next(); //todas as celulas de cada linha Iterator<Cell> cellIterator = row.iterator(); //varre todas as celulas System.out.println(); ArrayList<Cell> list = new ArrayList<Cell>(); while (cellIterator.hasNext()) { //minha celula Cell cell = cellIterator.next(); list.add(cell); } Task task = new Task(list); tasks.add(task); } } catch (IOException ex) { Logger.getLogger(ReadXLSX.class.getName()).log(Level.SEVERE, null, ex); } } catch (FileNotFoundException ex) { Logger.getLogger(ReadXLSX.class.getName()).log(Level.SEVERE, null, ex); } finally { try { spreadSheet.close(); } catch (IOException ex) { Logger.getLogger(ReadXLSX.class.getName()).log(Level.SEVERE, null, ex); } } return tasks; }
From source file:opn.greenwebs.FXMLDocumentController.java
private void getData() { try {/*from ww w.j a va 2 s . c o m*/ fStockDir = new File(fUserDir, "Stock"); if (!fStockDir.exists()) { fStockDir.mkdirs(); } FilenameFilter xlsxFilter = (File dir, String name) -> { String lowercaseName = name.toLowerCase(); return lowercaseName.endsWith(".xlsx"); }; File[] fStock = fStockDir.listFiles(xlsxFilter); for (File excel : fStock) { try (FileInputStream fis = new FileInputStream(excel); XSSFWorkbook book = new XSSFWorkbook(fis)) { XSSFSheet sheet = book.getSheet("Digital Version"); List<XSSFTable> lstTables = sheet.getTables(); if (!lstTables.isEmpty()) { shootTables(sheet, lstTables); } else { //System.out.println("we have one without a table"); Iterator<Row> itr = sheet.iterator(); boolean bData = false; int nRow = 0; while (itr.hasNext()) { Row row = itr.next(); int nCou = 0; Iterator<Cell> cellIterator = row.cellIterator(); List lstItem = new ArrayList(); while (cellIterator.hasNext()) { Cell cell = cellIterator.next(); switch (cell.getCellType()) { case Cell.CELL_TYPE_STRING: String strCell = cell.getStringCellValue(); if (strCell.equalsIgnoreCase("Qty")) { nCou = nRow + 1; } if (bData) { lstItem.add(strCell); } break; case Cell.CELL_TYPE_NUMERIC: if (bData) { lstItem.add(cell.getNumericCellValue()); } break; case Cell.CELL_TYPE_BOOLEAN: if (bData) { lstItem.add(cell.getBooleanCellValue()); } break; case Cell.CELL_TYPE_BLANK: if (bData) { lstItem.add(""); } break; case Cell.CELL_TYPE_FORMULA: if (bData) { lstItem.add(cell.getCellFormula()); } break; default: } } if (bData) { System.out.print(lstItem); insertData(lstItem, true); } nRow++; if (nCou == nRow) { bData = true; } } //bIsGood = false; } } } } catch (FileNotFoundException fe) { //System.out.println("File not found exception " + fe.getMessage()); } catch (IOException ie) { //System.out.println("IO Exception " + ie.getMessage()); } }
From source file:org.argrr.extractor.excel.SpreadSheetTab.java
License:Open Source License
public SpreadSheetTab(XSSFSheet sheet) { this.sheet = sheet; columnNames = new ArrayList<String>(); lines = new ArrayList<HashMap<String, String>>(); //iterate throw the first line in order to have columns names Iterator<Row> rowIterator = sheet.iterator(); Row curRow = rowIterator.next();// ww w . j a v a 2 s .c o m for (int cn = 0; cn < curRow.getLastCellNum(); cn++) { Cell cell = curRow.getCell(cn, Row.CREATE_NULL_AS_BLANK); columnNames.add(cell.getStringCellValue()); } //Iterate through each other rows in order to have datas while (rowIterator.hasNext()) { Row row = rowIterator.next(); HashMap<String, String> curLine = new HashMap<String, String>(); //For each row, iterate through all the columns for (int id = 0; id < columnNames.size(); id++) { //add empty cells names if there are more cols in values than header def if (id >= this.columnNames.size()) this.columnNames.add(""); Cell cell = row.getCell(id, Row.CREATE_NULL_AS_BLANK); if (id == 0 && cell.getCellType() == Cell.CELL_TYPE_BLANK) { break; } String cellVal = ""; //Check the cell type and format accordingly switch (cell.getCellType()) { case Cell.CELL_TYPE_NUMERIC: if (DateUtil.isCellDateFormatted(cell)) { SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); cellVal = sdf.format(cell.getDateCellValue()); } else { cellVal = Integer.valueOf(Double.valueOf(cell.getNumericCellValue()).intValue()).toString(); } break; case Cell.CELL_TYPE_STRING: cellVal = cell.getStringCellValue(); break; } curLine.put(this.getColumnName(id), cellVal); } if (curLine.size() > 0) lines.add(curLine); } }
From source file:org.rakuten.util.XLSUtility.java
License:Open Source License
/** * @param fileLocation// w w w .jav a 2 s . c o m * @return Iterator of Row * This method take file path as input and return iterator or rows, it will return null if file does not exists or its corrupted * */ private Iterator<Row> getSheetData(String fileLocation) { File file = new File(fileLocation); if (!file.exists()) return null; try { FileInputStream fileStream = new FileInputStream(file); XSSFWorkbook workbook = new XSSFWorkbook(fileStream); XSSFSheet sheet = workbook.getSheetAt(0); Iterator<Row> iterator = sheet.iterator(); try { workbook.close(); } catch (Exception e) { e.printStackTrace(); } return iterator; } catch (IOException e) { e.printStackTrace(); return null; } }
From source file:org.tinywind.springi18nconverter.converter.ExcelConverter.java
License:Open Source License
@Override @SuppressWarnings("unchecked") public void decode(File sourceFile, String targetDir, String targetEncoding, Boolean describeByNative) { final String sourceFileName = sourceFile.getName().toLowerCase(); if (Arrays.stream(JS_POSTFIX_ARRAY).filter( postfix -> sourceFileName.lastIndexOf(postfix) == sourceFileName.length() - postfix.length()) .count() == 0)//from w w w . j ava2s .c o m return; try { final Map<String, List<String>> stringListMap = new HashMap<>(); final FileInputStream file = new FileInputStream(sourceFile); Iterator<Row> rowIterator; try { final XSSFWorkbook workbook = new XSSFWorkbook(file); final XSSFSheet sheet = workbook.getSheetAt(0); rowIterator = sheet.iterator(); } catch (OfficeXmlFileException e) { System.err.println(" exception:" + e.getMessage()); final HSSFWorkbook workbook = new HSSFWorkbook(file); final HSSFSheet sheet = workbook.getSheetAt(0); rowIterator = sheet.iterator(); } while (rowIterator.hasNext()) { final Row row = rowIterator.next(); final String key = row.getCell(COLUMN_KEY).getStringCellValue(); final String language = row.getCell(COLUMN_LANG).getStringCellValue(); final String value = row.getCell(COLUMN_VALUE).getStringCellValue().trim(); if (StringUtils.isEmpty(key) || StringUtils.isEmpty(language) || StringUtils.isEmpty(value)) continue; List<String> stringList = stringListMap.get(language); if (stringList == null) { stringList = new ArrayList<>(); stringListMap.put(language, stringList); } final String newLine = "\\\n"; String lastValue = "", token; final BufferedReader reader = new BufferedReader(new StringReader(value)); while ((token = reader.readLine()) != null) lastValue += token + newLine; reader.close(); if (lastValue.lastIndexOf(newLine) == lastValue.length() - newLine.length()) lastValue = lastValue.substring(0, lastValue.length() - newLine.length()); addProperty(stringList, key, lastValue, describeByNative); } for (String language : stringListMap.keySet()) { Files.write(Paths.get(new File(targetDir, messagesPropertiesFileName(language)).toURI()), stringListMap.get(language), Charset.forName(targetEncoding), StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.WRITE); } } catch (Exception e) { System.err.println(" FAIL to convert: " + sourceFile.getAbsolutePath()); e.printStackTrace(); } }
From source file:org.wandora.application.tools.extractors.excel.ExcelAdjacencyListExtractor.java
License:Open Source License
public void processSheet(XSSFSheet sheet, TopicMap tm) { Iterator<Row> rowIterator = sheet.iterator(); boolean isFirst = true; rolesPerColumn = new HashMap(); while (rowIterator.hasNext() && !forceStop()) { Row row = rowIterator.next();//from w ww . j a v a 2 s .c om if (isFirst && FIRST_ROW_CONTAINS_ROLES) { processRowAsRoles(row, tm); isFirst = false; } else { processRow(row, tm); } } }
From source file:org.wandora.application.tools.extractors.excel.ExcelAdjacencyMatrixExtractor.java
License:Open Source License
public void processSheet(XSSFSheet sheet, TopicMap tm) { Iterator<Row> rowIterator = sheet.iterator(); boolean isFirst = true; columnLabels = new HashMap(); rowLabels = new HashMap(); while (rowIterator.hasNext() && !forceStop()) { Row row = rowIterator.next();/*from w ww . j ava 2s.co m*/ if (isFirst) { processAsLabels(row, tm); isFirst = false; } else { processRow(row, tm); } } }
From source file:org.wandora.application.tools.extractors.excel.ExcelTopicExtractor.java
License:Open Source License
public void processSheet(XSSFSheet sheet, TopicMap tm) { Iterator<Row> rowIterator = sheet.iterator(); while (rowIterator.hasNext() && !forceStop()) { Row row = rowIterator.next();/*from w w w . ja v a2s. co m*/ processRow(row, tm); } }
From source file:org.wandora.application.tools.extractors.excel.ExcelTopicNameExtractor.java
License:Open Source License
public void processSheet(XSSFSheet sheet, TopicMap tm) { Iterator<Row> rowIterator = sheet.iterator(); boolean isFirst = true; languagesPerColumn = new HashMap(); while (rowIterator.hasNext() && !forceStop()) { Row row = rowIterator.next();//from ww w . ja va2 s. c om if (isFirst && FIRST_ROW_CONTAINS_LANGUAGES) { processRowAsLanguages(row, tm); isFirst = false; } else { processRow(row, tm); } } }
From source file:org.wandora.application.tools.extractors.excel.ExcelTopicOccurrenceExtractor.java
License:Open Source License
public void processSheet(XSSFSheet sheet, TopicMap tm) { Iterator<Row> rowIterator = sheet.iterator(); boolean isFirst = true; occurrenceTypes = new HashMap(); while (rowIterator.hasNext() && !forceStop()) { Row row = rowIterator.next();//from w ww . ja v a2 s .c o m if (isFirst && FIRST_ROW_CONTAINS_OCCURRENCE_TYPES) { processRowAsOccurrenceTypes(row, tm); isFirst = false; } else { processRow(row, tm); } } }