package com.zjrs.appcomm.template.excel.mapper;

import org.apache.poi.ss.usermodel.Cell;

import java.util.Map;

/**
 * Excel处理每行数据的Mapper
 * @author froms
 *
 * @param <T> 行数据的定义
 */
public interface RowMapper<T> {
	/**
	 * 处理每行数据
	 * @param t 已经填充好数据的行数据(当数据转换错误的情况下，该值为null)
	 * @param valuesMap 原始的数据Map
	 * @param cellMap Excel原始单元格映射
	 * @param dataIndex 当前数据的下标
	 * @param rowIndex 当前数据所在Excel的行下标（Excel中的空行数据会被忽略，因此该值存在跳号的可能性）
	 */
	public void mapper(T t, Map<String, Object> valuesMap, Map<String, Cell> cellMap, int dataIndex, int rowIndex);
}
