本文整理汇总了Java中org.bbreak.excella.core.util.PoiUtil.getCellValue方法的典型用法代码示例。如果您正苦于以下问题:Java PoiUtil.getCellValue方法的具体用法?Java PoiUtil.getCellValue怎么用?Java PoiUtil.getCellValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.bbreak.excella.core.util.PoiUtil
的用法示例。
在下文中一共展示了PoiUtil.getCellValue方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getBlockCellValue
import org.bbreak.excella.core.util.PoiUtil; //导入方法依赖的package包/类
/**
* 対象シートの指定された範囲のセルに書かれている文字列をString[行番号][列番号]の形式で取得する。 セルに書かれている値が文字列でない場合は、nullがセットされる。
*
* @param sheet 対象となるシート
* @param bStartRowIndex 範囲開始行番号
* @param bEndRowIndex 範囲終了行番号
* @param bStartColIndex 範囲開始列番号
* @param bEndColIndex 範囲終了列番号
* @return セル文字列
*/
public static Object[][] getBlockCellValue( Sheet sheet, int bStartRowIndex, int bEndRowIndex, int bStartColIndex, int bEndColIndex) {
Object[][] blockCellValue = new Object[bEndRowIndex - bStartRowIndex + 1][bEndColIndex - bStartColIndex + 1];
int row = 0;
for ( int bRowIndex = bStartRowIndex; bRowIndex <= bEndRowIndex; bRowIndex++) {
int col = 0;
for ( int bColIndex = bStartColIndex; bColIndex <= bEndColIndex; bColIndex++) {
if ( sheet.getRow( bRowIndex) != null && sheet.getRow( bRowIndex).getCell( bColIndex) != null) {
blockCellValue[row][col] = PoiUtil.getCellValue( sheet.getRow( bRowIndex).getCell( bColIndex));
} else {
blockCellValue[row][col] = null;
}
col++;
}
row++;
}
return blockCellValue;
}
示例2: parseCustomProperty
import org.bbreak.excella.core.util.PoiUtil; //导入方法依赖的package包/类
/**
* カスタムパーサの処理を実行する
*
* @parma valueCell 値を持つセル
* @param colLogicalNameMap 論理名、カラムindexのマップ
* @param obj 対象オブジェクト
* @param valueRow 値列
* @param tag タグ
* @throws ParseException パース例外
*/
private void parseCustomProperty( Cell valueCell, Map<String, Integer> colLogicalNameMap, Object obj, Row valueRow, String tag) throws ParseException {
for ( SheetToJavaPropertyParser propertyParser : customPropertyParsers) {
// カスタムプロパティの判定
if ( propertyParser.isParse( tag)) {
// パラメータ内で定義されているプロパティ、値のマップ
Map<String, String> paramMap = TagUtil.getParams( tag);
Set<String> paramKeys = paramMap.keySet();
Map<String, Object> paramValueMap = new HashMap<String, Object>();
Map<String, Cell> paramCellMap = new HashMap<String, Cell>();
for ( String paramKey : paramKeys) {
String paramValue = paramMap.get( paramKey);
if ( paramValue.startsWith( TAG_LOGICAL_NAME_PREFIX)) {
// 論理名の場合
String logicalMapKey = TagUtil.getParam( paramValue, LNAME_TAG_PARAM_PREFIX, LNAME_TAG_PARAM_SUFFIX);
Integer logicalKeyCol = colLogicalNameMap.get( logicalMapKey);
Cell cell = valueRow.getCell( logicalKeyCol);
Object cellValue = PoiUtil.getCellValue( cell);
paramValueMap.put( paramKey, cellValue);
paramCellMap.put( paramKey, cell);
} else {
// 固定値の場合
paramValueMap.put( paramKey, paramValue);
}
}
// カスタムパーサの処理実行
propertyParser.parse( obj, paramCellMap, paramValueMap);
}
}
}
示例3: parse
import org.bbreak.excella.core.util.PoiUtil; //导入方法依赖的package包/类
/**
* パース処理
*
* @param sheet 対象シート
* @param tagCell タグが定義されたセル
* @param data BookControllerのparseBook(), parseSheet()メソッド、<BR>
* SheetParserのparseSheetメソッドで引数を渡した場合に<BR>
* TagParserまで引き継がれる処理データ<BR>
* @return パース結果
* @throws ParseException パース例外
*/
@Override
public List<?> parse( Sheet sheet, Cell tagCell, Object data) throws ParseException {
// パース結果格納リスト
List<Object> results = new ArrayList<Object>();
try {
// データ範囲
int tagRowIdx = tagCell.getRowIndex();
int valueRowFromIdx;
int valueRowToIdx = sheet.getLastRowNum();
int valueColIdx = tagCell.getColumnIndex();
Map<String, String> paramDef = TagUtil.getParams( tagCell.getStringCellValue());
// データ開始行の調整
valueRowFromIdx = TagUtil.adjustValue( tagRowIdx, paramDef, PARAM_DATA_ROW_FROM, DEFAULT_VALUE_ROW_FROM_ADJUST);
if ( valueRowFromIdx < 0 || valueRowFromIdx > sheet.getLastRowNum()) {
throw new ParseException( tagCell, "パラメータ値不正:" + PARAM_DATA_ROW_FROM);
}
// データ終了行の調整
valueRowToIdx = TagUtil.adjustValue( tagRowIdx, paramDef, PARAM_DATA_ROW_TO, valueRowToIdx - tagRowIdx);
if ( valueRowToIdx > sheet.getLastRowNum() || valueRowToIdx < 0) {
throw new ParseException( tagCell, "パラメータ値不正:" + PARAM_DATA_ROW_TO);
}
// データ開始行と終了行の関係チェック
if ( valueRowFromIdx > valueRowToIdx) {
throw new ParseException( tagCell, "パラメータ値不正:" + PARAM_DATA_ROW_FROM + "," + PARAM_DATA_ROW_TO);
}
// Value列番号の調整
valueColIdx = TagUtil.adjustValue( valueColIdx, paramDef, PARAM_VALUE_COLUMN, DEFAULT_VALUE_COLUMN_ADJUST);
if ( valueColIdx > PoiUtil.getLastColNum( sheet) || valueColIdx < 0) {
throw new ParseException( tagCell, "パラメータ値不正:" + PARAM_VALUE_COLUMN);
}
// パース処理
for ( int rowCnt = valueRowFromIdx; rowCnt <= valueRowToIdx; rowCnt++) {
Row row = sheet.getRow( rowCnt);
if ( row != null) {
Object value = PoiUtil.getCellValue( row.getCell( valueColIdx));
results.add( value);
}
}
} catch ( Exception e) {
if ( e instanceof ParseException) {
throw ( ParseException) e;
} else {
throw new ParseException( tagCell, e);
}
}
return results;
}