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

tgtools.excel.ImportExcel Maven / Gradle / Ivy

package tgtools.excel;


import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import tgtools.excel.listener.ImportListener;
import tgtools.exceptions.APPErrorException;

import java.io.Closeable;
import java.io.File;
import java.io.InputStream;
import java.util.LinkedHashMap;
import java.util.Map;

/**
 * 名  称:
 * 编写者:田径
 * 功  能:
 * 时  间:21:47
 */
public interface ImportExcel extends Closeable {
    /**
     * 设置生成excel时监听
     * @param pLitener
     */
    void setListener(ImportListener pLitener);
    /**
     * 初始化
     * @param pColumns 表列名
     * @param pSheetTable sheet 名称与表对应的名称 如:put("sheet1","MQ_SYS.ACT_ID_USER")
     * @throws APPErrorException
     */
    void init(LinkedHashMap pColumns, Map pSheetTable) throws APPErrorException;

    /**
     * 初始化
     * @param pColumns 表列名
     * @param pSheetTable sheet 名称与表对应的名称 如:put("sheet1","MQ_SYS.ACT_ID_USER")
     * @param pDatabaseType 数据库类型 如果 空或null 则不做sql处理
     * @throws APPErrorException
     */
    void init(LinkedHashMap pColumns, Map pSheetTable,String pDatabaseType) throws APPErrorException;

    /**
     *初始化
     * @param pColumns 表列名
     * @param pSheetTable sheet 名称与表对应的名称 如:put("sheet1","MQ_SYS.ACT_ID_USER")
     * @param pDatabaseType 数据库类型 如果 空或null 则不做sql处理
     * @param pBeginDataRow 起始行
     * @throws APPErrorException
     */
    void init(LinkedHashMap pColumns, Map pSheetTable,String pDatabaseType, int pBeginDataRow)throws APPErrorException;


    /**
     * 初始化
     * @param pColumns 表列名
     * @param pSheetTable sheet 名称与表对应的名称 如:put("sheet1","MQ_SYS.ACT_ID_USER")
     * @param pDatabaseType 数据库类型 如果 空或null 则不做sql处理
     * @param pBeginTitleRow 标题行
     * @param pBeginDataRow 数据起始行
     * @throws APPErrorException
     */
    void init(LinkedHashMap pColumns, Map pSheetTable,String pDatabaseType,int pBeginTitleRow,int pBeginDataRow) throws APPErrorException;

    /**
     * 导入
     * @param pFile
     * @throws APPErrorException
     */
    void importExcel(File pFile) throws APPErrorException;

    /**
     * 导入
     * @param pDatas
     * @param pVersion excel 版本
     * @throws APPErrorException
     */
    void importExcel(byte[] pDatas,String pVersion) throws APPErrorException;
    /**
     * 导入
     * @param pInputStream
     * @param pVersion excel 版本
     * @throws APPErrorException
     */
    void importExcel(InputStream pInputStream,String pVersion) throws APPErrorException;

    /**
     * 获取入库结果字符串 如 :{"success":30,"error":10,"count":40}
     * @return
     * @throws APPErrorException
     */
    ObjectNode getImportResult()throws APPErrorException;
    /**
     * 获取转换后的结果的副本
     * @return 每一个ArrayNode 就是一个sheet 的数据
     * @throws APPErrorException
     */
    LinkedHashMap getParseData()throws APPErrorException;

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy