当前位置: 首页>>代码示例>>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;未经允许,请勿转载。