List of usage examples for org.apache.poi.ss.usermodel Row getFirstCellNum
short getFirstCellNum();
From source file:cherry.parser.worksheet.RowBasedParser.java
License:Apache License
private List<TypeDef> parseSheet(Sheet sheet) { boolean configured = false; int coldefFirstCellNum = -1; Map<Integer, String> coldef = new TreeMap<Integer, String>(); Map<String, TypeDef> map = new LinkedHashMap<String, TypeDef>(); TypeDef typeDef = null;//from w ww .j a v a 2 s . c o m for (Row row : sheet) { int firstCellNum = row.getFirstCellNum(); if (firstCellNum < 0) { continue; } if (!configured) { String directive = getCellValueAsString(row.getCell(firstCellNum)); if ("##COLDEF".equals(directive)) { for (Cell cell : row) { if (cell.getColumnIndex() == firstCellNum) { continue; } if (cell.getCellType() != Cell.CELL_TYPE_STRING) { continue; } coldef.put(cell.getColumnIndex(), getCellValueAsString(cell)); } coldefFirstCellNum = firstCellNum; configured = true; } else { // IGNORE UNKNOWN DIRECTIVES } } else { ItemDef item = null; for (Cell cell : row) { if (cell.getColumnIndex() == coldefFirstCellNum) { item = new ItemDef(); continue; } if (item == null) { continue; } String key = coldef.get(cell.getColumnIndex()); if (key == null) { continue; } String value = getCellValueAsString(cell); if (value != null) { item.put(key, value); } } if (item != null) { String fqcn = item.get(TypeDef.FULLY_QUALIFIED_CLASS_NAME); if (fqcn != null) { TypeDef td = map.get(fqcn); if (td != null) { typeDef = td; } else { typeDef = new TypeDef(); typeDef.setSheetName(sheet.getSheetName()); map.put(fqcn, typeDef); } } if (typeDef != null) { typeDef.getItemDef().add(item); } } } } return new ArrayList<TypeDef>(map.values()); }
From source file:cherry.parser.worksheet.SheetBasedParser.java
License:Apache License
private TypeDef parseSheet(Sheet sheet) { State state = State.HEAD; int coldefFirstCellNum = -1; Map<Integer, String> coldef = new TreeMap<Integer, String>(); TypeDef typeDef = new TypeDef(); typeDef.setSheetName(sheet.getSheetName()); for (Row row : sheet) { int firstCellNum = row.getFirstCellNum(); if (firstCellNum < 0) { continue; }/* ww w.j av a2 s . c o m*/ if (state == State.HEAD) { String directive = getCellValueAsString(row.getCell(firstCellNum)); if ("##FQCN".equals(directive)) { String fqcn = getCellValueAsString(row.getCell(firstCellNum + 1)); typeDef.setFullyQualifiedClassName(fqcn); } else if ("##ATTR".equals(directive)) { String key = getCellValueAsString(row.getCell(firstCellNum + 1)); String value = getCellValueAsString(row.getCell(firstCellNum + 2)); typeDef.put(key, value); } else if ("##COLDEF".equals(directive)) { for (Cell cell : row) { if (cell.getColumnIndex() == firstCellNum) { continue; } if (cell.getCellType() != Cell.CELL_TYPE_STRING) { continue; } coldef.put(cell.getColumnIndex(), getCellValueAsString(cell)); } coldefFirstCellNum = firstCellNum; state = State.ITEM; } else { // IGNORE UNKNOWN DIRECTIVES } } else if (state == State.ITEM) { ItemDef item = null; for (Cell cell : row) { if (cell.getColumnIndex() == coldefFirstCellNum) { item = new ItemDef(); continue; } if (item == null) { continue; } String key = coldef.get(cell.getColumnIndex()); if (key == null) { continue; } String value = getCellValueAsString(cell); if (value != null) { item.put(key, value); } } if (item != null) { typeDef.getItemDef().add(item); } } else { // IGNORE UNKNOWN STATE } } return typeDef; }
From source file:cn.afterturn.easypoi.excel.export.template.ExcelExportOfTemplateUtil.java
License:Apache License
/** * ??,??//from w w w . jav a 2 s.c o m * * @param sheet * @return */ private Map<String, Integer> getTitleMap(Sheet sheet) { Row row = null; Iterator<Cell> cellTitle; Map<String, Integer> titlemap = new HashMap<String, Integer>(); for (int j = 0; j < teplateParams.getHeadingRows(); j++) { row = sheet.getRow(j + teplateParams.getHeadingStartRow()); cellTitle = row.cellIterator(); int i = row.getFirstCellNum(); while (cellTitle.hasNext()) { Cell cell = cellTitle.next(); String value = cell.getStringCellValue(); if (!StringUtils.isEmpty(value)) { titlemap.put(value, i); } i = i + 1; } } return titlemap; }
From source file:cn.afterturn.easypoi.excel.export.template.ExcelExportOfTemplateUtil.java
License:Apache License
private void parseTemplate(Sheet sheet, Map<String, Object> map, boolean colForeach) throws Exception { if (sheet.getWorkbook() instanceof XSSFWorkbook) { super.type = ExcelType.XSSF; }/*from w w w . j a va2 s . c o m*/ deleteCell(sheet, map); mergedRegionHelper = new MergedRegionHelper(sheet); templateSumHandler = new TemplateSumHandler(sheet); if (colForeach) { colForeach(sheet, map); } Row row = null; int index = 0; while (index <= sheet.getLastRowNum()) { row = sheet.getRow(index++); if (row == null) { continue; } for (int i = row.getFirstCellNum(); i < row.getLastCellNum(); i++) { if (row.getCell(i) != null && !tempCreateCellSet.contains(row.getRowNum() + "_" + row.getCell(i).getColumnIndex())) { setValueForCellByMap(row.getCell(i), map); } } } //?? handlerSumCell(sheet); }
From source file:cn.afterturn.easypoi.excel.export.template.ExcelExportOfTemplateUtil.java
License:Apache License
/** * ,??// w ww .ja v a2s . c o m * * @param sheet * @param map */ private void colForeach(Sheet sheet, Map<String, Object> map) throws Exception { Row row = null; Cell cell = null; int index = 0; while (index <= sheet.getLastRowNum()) { row = sheet.getRow(index++); if (row == null) { continue; } for (int i = row.getFirstCellNum(); i < row.getLastCellNum(); i++) { cell = row.getCell(i); if (row.getCell(i) != null && (cell.getCellType() == CellType.STRING || cell.getCellType() == CellType.NUMERIC)) { String text = PoiCellUtil.getCellValue(cell); if (text.contains(FOREACH_COL) || text.contains(FOREACH_COL_VALUE)) { foreachCol(cell, map, text); } } } } }
From source file:cn.afterturn.easypoi.excel.export.template.ExcelExportOfTemplateUtil.java
License:Apache License
/** * ,??//from ww w . j a v a2 s.c o m * * @param sheet * @param map * @throws Exception */ private void deleteCell(Sheet sheet, Map<String, Object> map) throws Exception { Row row = null; Cell cell = null; int index = 0; while (index <= sheet.getLastRowNum()) { row = sheet.getRow(index++); if (row == null) { continue; } for (int i = row.getFirstCellNum(); i < row.getLastCellNum(); i++) { cell = row.getCell(i); if (row.getCell(i) != null && (cell.getCellType() == CellType.STRING || cell.getCellType() == CellType.NUMERIC)) { cell.setCellType(CellType.STRING); String text = cell.getStringCellValue(); if (text.contains(IF_DELETE)) { if (Boolean.valueOf( eval(text.substring(text.indexOf(START_STR) + 2, text.indexOf(END_STR)).trim(), map) .toString())) { PoiSheetUtil.deleteColumn(sheet, i); i--; } cell.setCellValue(""); } } } } }
From source file:cn.afterturn.easypoi.excel.imports.ExcelImportService.java
License:Apache License
/*** * ?List?/* www . j av a 2 s .c o m*/ * * @param object * @param param * @param row * @param titlemap * @param targetId * @param pictures * @param params */ public void addListContinue(Object object, ExcelCollectionParams param, Row row, Map<Integer, String> titlemap, String targetId, Map<String, PictureData> pictures, ImportParams params, StringBuilder errorMsg) throws Exception { Collection collection = (Collection) PoiReflectorUtil.fromCache(object.getClass()).getValue(object, param.getName()); Object entity = PoiPublicUtil.createObject(param.getType(), targetId); if (entity instanceof IExcelDataModel) { ((IExcelDataModel) entity).setRowNum(row.getRowNum()); } String picId; // ?? boolean isUsed = false; for (int i = row.getFirstCellNum(); i < titlemap.size(); i++) { Cell cell = row.getCell(i); String titleString = (String) titlemap.get(i); if (param.getExcelParams().containsKey(titleString)) { if (param.getExcelParams().get(titleString).getType() == BaseEntityTypeConstants.IMAGE_TYPE) { picId = row.getRowNum() + "_" + i; saveImage(entity, picId, param.getExcelParams(), titleString, pictures, params); } else { try { saveFieldValue(params, entity, cell, param.getExcelParams(), titleString, row); } catch (ExcelImportException e) { // ?,, if (params.isNeedVerify() && ExcelImportEnum.GET_VALUE_ERROR.equals(e.getType())) { errorMsg.append(" ").append(titleString) .append(ExcelImportEnum.GET_VALUE_ERROR.getMsg()); } } } isUsed = true; } } if (isUsed) { collection.add(entity); } }
From source file:cn.afterturn.easypoi.excel.imports.ExcelImportService.java
License:Apache License
private void getSingleCellValueForRow(ExcelImportResult result, Row row, ImportParams params) { for (int j = row.getFirstCellNum(), le = row.getLastCellNum(); j < le; j++) { String text = PoiCellUtil.getCellValue(row.getCell(j)); if (StringUtils.isNoneBlank(text) && text.endsWith(params.getKeyMark())) { if (result.getMap().containsKey(text)) { if (result.getMap().get(text) instanceof String) { List<String> list = new ArrayList<String>(); list.add((String) result.getMap().get(text)); result.getMap().put(text, list); }/*w ww . j a v a 2s. c o m*/ ((List) result.getMap().get(text)).add(PoiCellUtil.getCellValue(row.getCell(++j))); } else { result.getMap().put(text, PoiCellUtil.getCellValue(row.getCell(++j))); } } } }
From source file:cn.bzvs.excel.export.template.ExcelExportOfTemplateUtil.java
License:Apache License
private void parseTemplate(Sheet sheet, Map<String, Object> map, boolean colForeach) throws Exception { deleteCell(sheet, map);/*from w ww. j av a 2s .c o m*/ mergedRegionHelper = new MergedRegionHelper(sheet); templateSumHanlder = new TemplateSumHanlder(sheet); if (colForeach) { colForeach(sheet, map); } Row row = null; int index = 0; while (index <= sheet.getLastRowNum()) { row = sheet.getRow(index++); if (row == null) { continue; } for (int i = row.getFirstCellNum(); i < row.getLastCellNum(); i++) { if (row.getCell(i) != null && !tempCreateCellSet.contains(row.getRowNum() + "_" + row.getCell(i).getColumnIndex())) { setValueForCellByMap(row.getCell(i), map); } } } //?? hanlderSumCell(sheet); }
From source file:cn.bzvs.excel.export.template.ExcelExportOfTemplateUtil.java
License:Apache License
/** * ,??/* www. j av a 2s . c o m*/ * @param sheet * @param map */ private void colForeach(Sheet sheet, Map<String, Object> map) throws Exception { Row row = null; Cell cell = null; int index = 0; while (index <= sheet.getLastRowNum()) { row = sheet.getRow(index++); if (row == null) { continue; } for (int i = row.getFirstCellNum(); i < row.getLastCellNum(); i++) { cell = row.getCell(i); if (row.getCell(i) != null && (cell.getCellType() == Cell.CELL_TYPE_STRING || cell.getCellType() == Cell.CELL_TYPE_NUMERIC)) { cell.setCellType(Cell.CELL_TYPE_STRING); String text = cell.getStringCellValue(); if (text.contains(FOREACH_COL) || text.contains(FOREACH_COL_VALUE)) { foreachCol(cell, map, text); } } } } }