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

import com.zjrs.appcomm.template.excel.exception.IllegalHeaderException;
import org.apache.poi.ss.usermodel.Row;

/**
 * Excel表头Mapper
 * @author froms
 *
 */
public interface HeaderMapper {
	/**
	 * 根据传入的表头名称转换为字段的字段名。
	 * 返回的数组长度与传入的数组长度可以不一致：
	 * 比如当传入的末尾若干表头是不需要的时，则可以对数组长度进行裁剪至自己需要的长度；
	 * 比如当传入的开头或中间若干表头是不需要的时，则可以对相应下标填写空
	 * @param rows 从Excel中解析出的行数组
	 * @return 实际映射数据需要的字段名数组
	 * @throws IllegalHeaderException 当发现异常的表头时抛出该异常
	 */
	public String[] mapper(Row[] rows) throws IllegalHeaderException;
}
