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


Java CellRangeAddress.isInRange方法代碼示例

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


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

示例1: getStringRangeValue

import org.apache.poi.ss.util.CellRangeAddress; //導入方法依賴的package包/類
public String getStringRangeValue(Cell cell) {
    int rowIndex = cell.getRowIndex();
    int columnIndex = cell.getColumnIndex();

    Sheet sheet = cell.getSheet();
    int size = sheet.getNumMergedRegions();
    for (int i = 0; i < size; i++) {
        CellRangeAddress range = sheet.getMergedRegion(i);
        if (range.isInRange(rowIndex, columnIndex)) {
            Cell firstCell = getCell(sheet, range.getFirstRow(),
                    range.getFirstColumn()); // 左上のセルを取得
            return getStringValue(firstCell);
        }
    }
    return null;
}
 
開發者ID:cccties,項目名稱:chilo-producer,代碼行數:17,代碼來源:ExcelReader.java

示例2: getRangeIfMerged

import org.apache.poi.ss.util.CellRangeAddress; //導入方法依賴的package包/類
private CellRangeAddress getRangeIfMerged(XSSFCell cell, CellRangeAddress[] mergedRanges) {
    for (int i = 0; i < mergedRanges.length; i++) {
        CellRangeAddress range = mergedRanges[i];
        if (range.isInRange(cell.getRowIndex(), cell.getColumnIndex()))
            return range;
    }
    return null;
}
 
開發者ID:CenturyLinkCloud,項目名稱:mdw-demo,代碼行數:9,代碼來源:Excel2007Parser.java

示例3: removeMergedRegion

import org.apache.poi.ss.util.CellRangeAddress; //導入方法依賴的package包/類
@Override
protected void removeMergedRegion(int rowNumber, int columnNumber) {
    super.removeMergedRegion(rowNumber, columnNumber);

    for (int idx = 0; idx < poiSheet.getNumMergedRegions(); idx++) {
        CellRangeAddress cra = poiSheet.getMergedRegion(idx);
        if (cra.isInRange(rowNumber, columnNumber)) {
            poiSheet.removeMergedRegion(idx);
        }
    }
}
 
開發者ID:xzel23,項目名稱:meja,代碼行數:12,代碼來源:PoiSheet.java

示例4: validateSheet

import org.apache.poi.ss.util.CellRangeAddress; //導入方法依賴的package包/類
public List<ValidationResult> validateSheet(XSSFSheet sheet) {
	List<ValidationResult> results = new LinkedList<ValidationResult>();

	List<XSSFDataValidation> dataValidations = sheet.getDataValidations();
	for (XSSFDataValidation xssfDataValidation : dataValidations) {
		DataValidationConstraint validationConstraint = xssfDataValidation.getValidationConstraint();
		CellRangeAddressList regions = xssfDataValidation.getRegions();
		CellRangeAddress[] cellRangeAddresses = regions.getCellRangeAddresses();
		Validator validator = buildValidator(sheet, validationConstraint);
		for (CellRangeAddress cellRangeAddress : cellRangeAddresses) {
			int firstRow = Math.max(cellRangeAddress.getFirstRow(), sheet.getFirstRowNum());
			int lastRow = Math.min(cellRangeAddress.getLastRow(), sheet.getLastRowNum());

			for (int i = firstRow; i <= lastRow; i++) {
				XSSFRow row = sheet.getRow(i);
				if (row == null || row.getFirstCellNum() < 0) {
					continue;
				}

				int firstColumn = Math.max(cellRangeAddress.getFirstColumn(), row.getFirstCellNum());
				int lastColumn = Math.min(cellRangeAddress.getLastColumn(), row.getLastCellNum());

				for (int j = firstColumn; j <= lastColumn; j++) {
					XSSFCell cell = row.getCell(j);
					if (cell == null) {
						continue;
					}
					boolean inRange = cellRangeAddress.isInRange(cell.getRowIndex(), cell.getColumnIndex());
					if (inRange) {
						ValidationResult result = validator.validate(cell);
						if (result != null) {
							results.add(result);
						}
					}
				}
			}
		}
	}
	return results;
	/*
	 * TODO think about splitting this function into 2 parts: 1.
	 * getAllValidators 2. validate with all validators
	 */
}
 
開發者ID:ykaragol,項目名稱:poi-data-validation,代碼行數:45,代碼來源:DataValidator.java

示例5: getMergedCellValue

import org.apache.poi.ss.util.CellRangeAddress; //導入方法依賴的package包/類
/**
 * 結合されているセルの値の取得。
 * <p>通常は左上のセルに値が設定されているが、結合されているときは左上以外のセルの値を取得する。
 * <p>左上以外のセルに値が設定されている場合は、CellTypeがCELL_TYPE_BLANKになるため注意が必要。
 * @param cell
 * @param locale
 * @return
 */
private CellFormatResult getMergedCellValue(final Cell cell, final Locale locale) {
    
    final Sheet sheet = cell.getSheet();
    final int size = sheet.getNumMergedRegions();
    
    for(int i=0; i < size; i++) {
        final CellRangeAddress range = sheet.getMergedRegion(i);
        if(!range.isInRange(cell.getRowIndex(), cell.getColumnIndex())) {
            continue;
        }
        
        // 非BLANKまたはnullでないセルを取得する。
        for(int rowIdx=range.getFirstRow(); rowIdx <= range.getLastRow(); rowIdx++) {
            final Row row = sheet.getRow(rowIdx);
            if(row == null) {
                continue;
            }
            
            for(int colIdx=range.getFirstColumn(); colIdx <= range.getLastColumn(); colIdx++) {
                final Cell valueCell = row.getCell(colIdx);
                if(valueCell == null || valueCell.getCellType() == Cell.CELL_TYPE_BLANK) {
                    continue;
                }
                
                return format(valueCell, locale);
            }
        }
        
    }
    
    return createBlankCellResult();
}
 
開發者ID:mygreen,項目名稱:excel-cellformatter,代碼行數:41,代碼來源:POICellFormatter.java

示例6: isInMergedRegion

import org.apache.poi.ss.util.CellRangeAddress; //導入方法依賴的package包/類
private boolean isInMergedRegion( Sheet sheet, Row row, Cell cell) {
    // シート內の結合情報の數だけループする
    for ( int i = 0; i < sheet.getNumMergedRegions(); i++) {
        CellRangeAddress region = sheet.getMergedRegion( i);
        if ( region.isInRange( row.getRowNum(), cell.getColumnIndex())) {
            return true;
        }
    }
    return false;
}
 
開發者ID:excella-core,項目名稱:excella-reports,代碼行數:11,代碼來源:BreakAdapter.java

示例7: setRowBreakMergedRegion

import org.apache.poi.ss.util.CellRangeAddress; //導入方法依賴的package包/類
protected void setRowBreakMergedRegion( Sheet sheet, Row row, Cell cell) {
    PoiUtil.setCellValue( cell, null);
    // シート內の結合情報の數だけループする
    for ( int i = 0; i < sheet.getNumMergedRegions(); i++) {
        CellRangeAddress region = sheet.getMergedRegion( i);
        if ( region.isInRange( row.getRowNum(), cell.getColumnIndex())) {
            // 結合されていれば結合セルの直後に改ページ
            sheet.setRowBreak( row.getRowNum() + 1);
            return;
        }
    }
    // 結合されていなければその行で改ページ
    sheet.setRowBreak( row.getRowNum());
}
 
開發者ID:excella-core,項目名稱:excella-reports,代碼行數:15,代碼來源:BreakAdapter.java

示例8: getCellValue

import org.apache.poi.ss.util.CellRangeAddress; //導入方法依賴的package包/類
/**
 * 獲取單元格值
 * @param row 獲取的行
 * @param column 獲取單元格列號
 * @return 單元格值
 */
public Object getCellValue(Row row, int column){
	int rownum=row.getRowNum();
	for(CellRangeAddress cr:ranges.keySet()){
		if(cr.isInRange(rownum, column)){
			return ranges.get(cr);
		}
	}
	
	return getCellValue(row.getCell(column));
}
 
開發者ID:kiwilew,項目名稱:covito-kit,代碼行數:17,代碼來源:ExcelTest.java

示例9: getCellValue

import org.apache.poi.ss.util.CellRangeAddress; //導入方法依賴的package包/類
/**
 * 獲取單元格值
 * 
 * @param row
 *            獲取的行
 * @param column
 *            獲取單元格列號
 * @return 單元格值
 */
public Object getCellValue(Row row, int column) {
	int rownum = row.getRowNum();
	for (CellRangeAddress cr : rangesMap.keySet()) {
		if (cr.isInRange(rownum, column)) {
			return rangesMap.get(cr);
		}
	}
	return getCellValue(row.getCell(column));
}
 
開發者ID:kiwilew,項目名稱:covito-kit,代碼行數:19,代碼來源:ImportExcel.java

示例10: getMergedRegion

import org.apache.poi.ss.util.CellRangeAddress; //導入方法依賴的package包/類
/**
 * 指定したセルのアドレスの結合情報を取得する。
 * @since 0.5
 * @param sheet
 * @param rowIdx
 * @param colIdx
 * @return 結合していない場合nullを返す。
 */
public static CellRangeAddress getMergedRegion(final Sheet sheet, final int rowIdx, final int colIdx) {
    ArgUtils.notNull(sheet, "sheet");
    
    final int num = sheet.getNumMergedRegions();
    for(int i=0; i < num; i ++) {
        final CellRangeAddress range = sheet.getMergedRegion(i);
        if(range.isInRange(rowIdx, colIdx)) {
            return range;
        }
    }
    
    return null;
}
 
開發者ID:mygreen,項目名稱:xlsmapper,代碼行數:22,代碼來源:POIUtils.java

示例11: getMergedRegion

import org.apache.poi.ss.util.CellRangeAddress; //導入方法依賴的package包/類
/**
 * Récupère les informations de fusion des cellules dans la sheet source
 * pour les appliquer à la sheet destination... Récupère toutes les zones
 * merged dans la sheet source et regarde pour chacune d'elle si elle se
 * trouve dans la current row que nous traitons. Si oui, retourne l'objet
 * CellRangeAddress.
 *
 * @param sheet the sheet containing the data.
 * @param rowNum the num of the row to copy.
 * @param cellNum the num of the cell to copy.
 * @return the CellRangeAddress created.
 */
public static CellRangeAddress getMergedRegion(XSSFSheet sheet, int rowNum, short cellNum) {
    for (int i = 0; i < sheet.getNumMergedRegions(); i++) {
        CellRangeAddress merged = sheet.getMergedRegion(i);
        if (merged.isInRange(rowNum, cellNum)) {
            return merged;
        }
    }
    return null;
}
 
開發者ID:likelet,項目名稱:DAtools,代碼行數:22,代碼來源:Util.java


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