當前位置: 首頁>>代碼示例>>Java>>正文


Java Cell.getCellType方法代碼示例

本文整理匯總了Java中org.apache.poi.ss.usermodel.Cell.getCellType方法的典型用法代碼示例。如果您正苦於以下問題:Java Cell.getCellType方法的具體用法?Java Cell.getCellType怎麽用?Java Cell.getCellType使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.poi.ss.usermodel.Cell的用法示例。


在下文中一共展示了Cell.getCellType方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: getNativeValueType

import org.apache.poi.ss.usermodel.Cell; //導入方法依賴的package包/類
@Override
public ValueType getNativeValueType(int columnIndex) throws ParseException {
	Cell cell = getCurrentCell(columnIndex);
	final int type = cell.getCellType();
	if (type == Cell.CELL_TYPE_BLANK) {
		return ValueType.EMPTY;
	} else if (type == Cell.CELL_TYPE_STRING) {
		return ValueType.STRING;
	} else if (type == Cell.CELL_TYPE_NUMERIC) {
		if (DateUtil.isCellDateFormatted(cell)) {
			return ValueType.DATE;
		} else {
			return ValueType.NUMBER;
		}
	} else if (type == Cell.CELL_TYPE_FORMULA) {
		if (cell.getCachedFormulaResultType() == Cell.CELL_TYPE_NUMERIC) {
			return ValueType.NUMBER;
		} else {
			return ValueType.STRING;
		}
	} else {
		return ValueType.STRING;
	}
}
 
開發者ID:transwarpio,項目名稱:rapidminer,代碼行數:25,代碼來源:Excel2007ResultSet.java

示例2: getCellValue

import org.apache.poi.ss.usermodel.Cell; //導入方法依賴的package包/類
public Object getCellValue(Cell cell){
    Object value = null;
    DecimalFormat df = new DecimalFormat("0");  //格式化number String字符
    DecimalFormat df2 = new DecimalFormat("0.00");  //格式化數字
    switch (cell.getCellType()) {
        case Cell.CELL_TYPE_STRING:
            value = cell.getRichStringCellValue().getString();
            break;
        case Cell.CELL_TYPE_NUMERIC:
            if("General".equals(cell.getCellStyle().getDataFormatString())) {
                value = df.format(cell.getNumericCellValue());
            } else {
                value = df2.format(cell.getNumericCellValue());
            }
            break;
        case Cell.CELL_TYPE_BOOLEAN:
            value = cell.getBooleanCellValue();
            break;
        case Cell.CELL_TYPE_BLANK:
            value = "";
            break;
        default:
            break;
    }
    return value;
}
 
開發者ID:junrui-zhao,項目名稱:Educational-Management-System,代碼行數:27,代碼來源:ClassroomServiceImpl.java

示例3: main

import org.apache.poi.ss.usermodel.Cell; //導入方法依賴的package包/類
public static void main(String[] args) {
        //Create Workbook instance holding reference to .xlsx file
        try (FileInputStream file = new FileInputStream(
                new File("Sample.xlsx"))) {
            //Create Workbook instance holding reference to .xlsx file
            XSSFWorkbook workbook = new XSSFWorkbook(file);

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

            //Iterate through each rows one by one
//            Iterator<Row> rowIterator = sheet.iterator();
            for(Row row : sheet) {
                for (Cell cell : row) {
                    //Check the cell type and format accordingly
                    switch (cell.getCellType()) {
                        case Cell.CELL_TYPE_NUMERIC:
                            out.print(cell.getNumericCellValue() + "\t");
                            break;
                        case Cell.CELL_TYPE_STRING:
                            out.print(cell.getStringCellValue() + "\t");
                            break;
                    }
                }
                out.println();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
 
開發者ID:PacktPublishing,項目名稱:Java-for-Data-Science,代碼行數:31,代碼來源:ReadExcelExample.java

示例4: isBlankRow

import org.apache.poi.ss.usermodel.Cell; //導入方法依賴的package包/類
/**
 * 判斷空行
 */
private static boolean isBlankRow(Row row) {
    if (row == null) {
        return true;
    }
    boolean result = true;
    Iterator<Cell> cells = row.cellIterator();
    String value = "";
    while (cells.hasNext()) {
        Cell cell = cells.next();
        int cellType = cell.getCellType();
        switch (cellType) {
            case Cell.CELL_TYPE_NUMERIC:
                value = String.valueOf(cell.getNumericCellValue());
                break;
            case Cell.CELL_TYPE_STRING:
                value = cell.getStringCellValue();
                break;
            case Cell.CELL_TYPE_BOOLEAN:
                value = String.valueOf(cell.getBooleanCellValue());
                break;
            case Cell.CELL_TYPE_FORMULA:
                value = String.valueOf(cell.getCellFormula());
                break;
        }
        if (StringUtils.isNotBlank(value)) {
            result = false;
            break;
        }
    }

    return result;
}
 
開發者ID:goribun,項目名稱:excel-rw-annotation,代碼行數:36,代碼來源:BaseReadUtil.java

示例5: getEmptyRow

import org.apache.poi.ss.usermodel.Cell; //導入方法依賴的package包/類
public static int getEmptyRow(Workbook wb, int sheetIndex, String cellRef) {
	final Sheet sheet = wb.getSheetAt(sheetIndex);
	final CellReference cellReference = new CellReference(cellRef); // һ����A1
	boolean flag = false;
	for (int i = cellReference.getRow(); i <= sheet.getLastRowNum();) {
		final Row r = sheet.getRow(i);
		if (r == null) {
			// ����ǿ��У���û���κ����ݡ���ʽ����ֱ�Ӱ������µ����������ƶ�
			sheet.shiftRows(i + 1, sheet.getLastRowNum(), -1);
			continue;
		}
		flag = false;
		for (final Cell c : r) {
			if (c.getCellType() != Cell.CELL_TYPE_BLANK) {
				flag = true;
				break;
			}
		}
		if (flag) {
			i++;
			continue;
		} else {// ����ǿհ��У�������û�����ݣ�������һ����ʽ��
			if (i == sheet.getLastRowNum())// ����������һ�У�ֱ�ӽ���һ��remove��
				sheet.removeRow(r);
			else// �����û�����һ�У�������������һ��
				sheet.shiftRows(i + 1, sheet.getLastRowNum(), -1);
		}
	}
	return sheet.getLastRowNum() + 1;
}
 
開發者ID:zylo117,項目名稱:SpotSpotter,代碼行數:31,代碼來源:ExcelOperation.java

示例6: dataFormat

import org.apache.poi.ss.usermodel.Cell; //導入方法依賴的package包/類
/**
 * 對讀取excel的數據進行格式轉換
 *
 * @param cell
 * @return
 * @throws Exception
 */
private Object dataFormat(Cell cell) throws Exception {
    try {
        switch (cell.getCellType()) {
            case HSSFCell.CELL_TYPE_NUMERIC:
                return cellTypeNumeric(cell);
            case HSSFCell.CELL_TYPE_STRING:
                return cell.getStringCellValue();
            case Cell.CELL_TYPE_BLANK:
                return "";
            default:
                return cell.getStringCellValue();
        }
    } catch (Exception e) {
        logger.debug("excel數據格式化錯誤!");
        throw e;
    }
}
 
開發者ID:DomKing,項目名稱:springbootWeb,代碼行數:25,代碼來源:ExcelUtil.java

示例7: getStartRow

import org.apache.poi.ss.usermodel.Cell; //導入方法依賴的package包/類
private int getStartRow(Sheet sheet) throws SheetParsingException {

		Iterator<Row> rit = sheet.iterator();
		while (rit.hasNext()) {
			Row row = rit.next();
			Cell cell = row.getCell(0);

			if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
				/*
				 * In my case first column is Sr.no. and Data starts where sr. no is 1 ,so this
				 * is start row index
				 */
				if (cell.getNumericCellValue() == 1.0)
					return row.getRowNum();
			}
		}
		throw new SheetParsingException("no start index found for data");
	}
 
開發者ID:NeebalLearningPvtLtd,項目名稱:Excel-to-POJO,代碼行數:19,代碼來源:SheetParser.java

示例8: getLastRow

import org.apache.poi.ss.usermodel.Cell; //導入方法依賴的package包/類
private int getLastRow(Sheet sheet) throws SheetParsingException {
	int lastRowIndex = -1;
	if (sheet.getPhysicalNumberOfRows() > 0) { // getLastRowNum() actually returns an index, not a row number
		lastRowIndex = sheet.getLastRowNum();

		// now, start at end of spreadsheet and work our way backwards until we find a
		// row having data
		for (; lastRowIndex >= 0; lastRowIndex--) {
			Row row = sheet.getRow(lastRowIndex);
			if (row != null) {
				Cell cell = row.getCell(0);
				if (cell != null && cell.getCellType() == Cell.CELL_TYPE_NUMERIC)
					break;
			}
		}
		return lastRowIndex;
	} else
		throw new SheetParsingException(sheet.getSheetName() + " is empty");
}
 
開發者ID:NeebalLearningPvtLtd,項目名稱:Excel-to-POJO,代碼行數:20,代碼來源:SheetParser.java

示例9: isMissing

import org.apache.poi.ss.usermodel.Cell; //導入方法依賴的package包/類
@Override
public boolean isMissing(int columnIndex) {
	Cell cell = getCurrentCell(columnIndex);
	try {
		boolean missing = cell == null || cell.getCellType() == Cell.CELL_TYPE_BLANK
				|| cell.getCellType() == Cell.CELL_TYPE_ERROR || "".equals(cell.getStringCellValue().trim());
		return missing;
	} catch (IllegalStateException e) {
		return false;
	}
}
 
開發者ID:transwarpio,項目名稱:rapidminer,代碼行數:12,代碼來源:Excel2007ResultSet.java

示例10: getValue

import org.apache.poi.ss.usermodel.Cell; //導入方法依賴的package包/類
/** 從表格之中讀取數據並進行處理
 * @param fieldInfo 
 * @param cell 當前cell
 * @return
 * @throws Exception
 */
public  static Object getValue(ImportFieldInfo fieldInfo, Cell cell) throws Exception{
	int size = fieldInfo.getTypeChain().size();
	Class<?> type = fieldInfo.getTypeChain().get(size - 1);
	String dateFormat = fieldInfo.getDateFormat();
	int cellType = cell.getCellType();
	Object obj = null ;
	switch (cellType) {
	case Cell.CELL_TYPE_BLANK:
		return null;
		
	case Cell.CELL_TYPE_BOOLEAN:
		obj = cell.getBooleanCellValue();
		break;
		
	case Cell.CELL_TYPE_STRING:
		obj = cell.getStringCellValue();
		break;
		
	case Cell.CELL_TYPE_NUMERIC:
		if(DateUtil.isCellDateFormatted(cell)){
			obj = DateUtil.getJavaDate(cell.getNumericCellValue());
		}else if(Number.class.isAssignableFrom(type) || ClassUtils.isBaseNumberType(type)){
			//當pojo字段類型是數字型時以數字形式獲取
			obj = cell.getNumericCellValue();				
		}else{
			//其他類型都以string獲取
			obj = DATA_FORMATTER.formatCellValue(cell);				
		}
		break;
		
	case Cell.CELL_TYPE_ERROR:
		return null;
	}
	if(fieldInfo.getImportProcessor() != null){
		obj = fieldInfo.getImportProcessor().process(obj);
	}
	obj = ConvertUtils.convertIfNeccesary(obj, type, dateFormat);
	return obj;
}
 
開發者ID:long47964,項目名稱:excel-utils,代碼行數:46,代碼來源:ExcelImportUtil.java

示例11: getInteger

import org.apache.poi.ss.usermodel.Cell; //導入方法依賴的package包/類
public static Integer getInteger(Cell cell) {
    if (isNullCell(cell)) {
        return null;
    }
    if (Cell.CELL_TYPE_NUMERIC == cell.getCellType()) {
        return (int) cell.getNumericCellValue();
    }
    if (Cell.CELL_TYPE_STRING == cell.getCellType()) {
        return Integer.parseInt(cell.getStringCellValue());
    }
    throw new RuntimeException("can not convertWithConstructor cell value to Integer!");
}
 
開發者ID:dengxiangjun,項目名稱:OfficeAutomation,代碼行數:13,代碼來源:CellConvert.java

示例12: getCellFormatValue

import org.apache.poi.ss.usermodel.Cell; //導入方法依賴的package包/類
/**
 * 根據HSSFCell類型設置數據(簡單導入使用)
 *
 * @param cell 單元格
 * @return 處理後的值
 */
private static String getCellFormatValue(Cell cell) {
    String cellValue;
    if (cell != null) {
        // 判斷當前Cell的Type
        switch (cell.getCellType()) {
            // 如果當前Cell的Type為NUMERIC
            case Cell.CELL_TYPE_NUMERIC:
            case Cell.CELL_TYPE_FORMULA: {
                // 判斷當前的cell是否為Date
                if (DateUtil.isCellDateFormatted(cell)) {
                    // 如果是Date類型則,轉化為Data格式
                    Date date = cell.getDateCellValue();
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    cellValue = sdf.format(date);
                }
                // 如果是純數字
                else {
                    //避免科學計數
                    java.text.NumberFormat nf = java.text.NumberFormat.getInstance();
                    nf.setGroupingUsed(false);
                    // 取得當前Cell的數值
                    cellValue = String.valueOf(nf.format(cell.getNumericCellValue()));
                }
                break;
            }
            // 如果當前Cell的Type為STRING
            case Cell.CELL_TYPE_STRING:
                // 取得當前的Cell字符串
                cellValue = cell.getStringCellValue();
                break;
            // 默認的Cell值
            default:
                cellValue = " ";
        }
    } else {
        cellValue = "";
    }
    return cellValue;
}
 
開發者ID:goribun,項目名稱:excel-rw-annotation,代碼行數:46,代碼來源:BaseReadUtil.java

示例13: firstEmptyCellPosition

import org.apache.poi.ss.usermodel.Cell; //導入方法依賴的package包/類
private int firstEmptyCellPosition(final Row cells) {
    int columnCount = 0;
    for (Cell cell : cells) {
        if (cell.getCellType() == Cell.CELL_TYPE_BLANK) {
            break;
        }
        columnCount++;
    }
    return columnCount;
}
 
開發者ID:cyber-coders-j2017a,項目名稱:modern.core.java.repo,代碼行數:11,代碼來源:ExcelXlsReaderParameter.java

示例14: getDouble

import org.apache.poi.ss.usermodel.Cell; //導入方法依賴的package包/類
public static Double getDouble(Cell cell) {
    if (isNullCell(cell)) {
        return null;
    }
    if (Cell.CELL_TYPE_NUMERIC == cell.getCellType()) {
        return cell.getNumericCellValue();
    }
    if (Cell.CELL_TYPE_STRING == cell.getCellType()) {
        return Double.parseDouble(cell.getStringCellValue());
    }
    throw new RuntimeException("can not convertWithConstructor cell value to Double!");
}
 
開發者ID:dengxiangjun,項目名稱:OfficeAutomation,代碼行數:13,代碼來源:CellConvert.java

示例15: getString

import org.apache.poi.ss.usermodel.Cell; //導入方法依賴的package包/類
public static String getString(Cell cell) {
    if (isNullCell(cell)) {
        return null;
    }
    if (Cell.CELL_TYPE_STRING == cell.getCellType()) {
        return cell.getStringCellValue();
    }
    if (Cell.CELL_TYPE_NUMERIC == cell.getCellType()) {
        return NumberUtil.numberStr(cell.getNumericCellValue());
    }
    throw new RuntimeException("can not convertWithConstructor cell value to String!");
}
 
開發者ID:dengxiangjun,項目名稱:OfficeAutomation,代碼行數:13,代碼來源:CellConvert.java


注:本文中的org.apache.poi.ss.usermodel.Cell.getCellType方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。