All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.stupdit1t.excel.handle.BigDecimalHandler Maven / Gradle / Ivy

There is a newer version: 3.3.0
Show newest version
package com.github.stupdit1t.excel.handle;

import com.github.stupdit1t.excel.common.PoiConstant;
import com.github.stupdit1t.excel.common.PoiException;
import com.github.stupdit1t.excel.core.parse.OpsColumn;
import com.github.stupdit1t.excel.handle.rule.BaseVerifyRule;
import org.apache.commons.lang3.math.NumberUtils;

import java.math.BigDecimal;


/**
 * BigDecimal校验实体
 *
 * @author 625
 */
public class BigDecimalHandler extends BaseVerifyRule {

	/**
	 * 常规验证
	 *
	 * @param allowNull 可为空
	 */
	public BigDecimalHandler(boolean allowNull, OpsColumn opsColumn) {
		super(allowNull, opsColumn);
	}

	@Override
	protected BigDecimal doHandle(int row, int col, Object cellValue) throws Exception {
		if (cellValue instanceof BigDecimal) {
			return (BigDecimal) cellValue;
		} else {
			String value = String.valueOf(cellValue);
			if (this.trim) {
				value = value.trim();
			}
			if (NumberUtils.isCreatable(value)) {
				return new BigDecimal(value);
			}
		}
		throw PoiException.error(PoiConstant.INCORRECT_FORMAT_STR);
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy