egovframework.rte.fdl.excel.impl.EgovExcelServiceImpl.java Source code

Java tutorial

Introduction

Here is the source code for egovframework.rte.fdl.excel.impl.EgovExcelServiceImpl.java

Source

/*
 * Copyright 2008-2009 MOPAS(Ministry of Public Administration and Security).
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package egovframework.rte.fdl.excel.impl;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.MessageSource;

import com.ibatis.sqlmap.client.SqlMapClient;

import egovframework.rte.fdl.cmmn.exception.BaseException;
import egovframework.rte.fdl.excel.EgovExcelMapping;
import egovframework.rte.fdl.excel.EgovExcelService;
import egovframework.rte.fdl.excel.EgovExcelXSSFMapping;
import egovframework.rte.fdl.filehandling.EgovFileUtil;
import egovframework.rte.fdl.string.EgovObjectUtil;

/**
 *      ?
 * <p>
 * <b>NOTE:</b>      ??.
 * @author   
 * @since 2009.06.01
 * @version 1.0
 * @see <pre>
 *  == ?(Modification Information) ==
 *   
 *   ?      ?           
 *  ----------- --------    ---------------------------
 *   2009.06.01            ?
 *   2013.05.22  ?       XSSF, SXSSF? (xlsx ?)
 *   2013.05.29           mapBeanName property  ?  
 * 
 * </pre>
 */
public class EgovExcelServiceImpl implements EgovExcelService, ApplicationContextAware {
    private EgovExcelServiceDAO dao;

    protected Log log = LogFactory.getLog(this.getClass());

    private MessageSource messageSource;
    private ApplicationContext applicationContext;
    private String mapClass;
    private String mapBeanName;
    private SqlMapClient sqlMapClient;

    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        this.applicationContext = applicationContext;
        this.messageSource = (MessageSource) applicationContext.getBean("messageSource");
    }

    /**
     * @return the messageSource
     */
    protected MessageSource getMessageSource() {
        return messageSource;
    }

    public void setSqlMapClient(SqlMapClient sqlMapClient) throws Exception {
        this.sqlMapClient = sqlMapClient;
        dao = new EgovExcelServiceDAO(this.sqlMapClient);
    }

    /**
     * Excel Cell VO mapping  ?
     * 
     * @param mapClass
     * @throws Exception
     */
    public void setMapClass(String mapClass) throws BaseException {
        this.mapClass = mapClass;
        log.debug("mapClass : " + mapClass);

    }

    /**
     * Excel Cell VO mapping  Bean name (mapClass )
     * 
     * @param mapBeanName
     * @throws BaseException
     */
    public void setMapBeanName(String mapBeanName) throws BaseException {
        this.mapBeanName = mapBeanName;
        log.debug("mapBeanName : " + mapBeanName);

    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#loadExcelTemplate(java.lang.String)
     */
    public HSSFWorkbook loadExcelTemplate(String templateName)
            throws BaseException, FileNotFoundException, IOException {

        FileInputStream fileIn = new FileInputStream(templateName);
        HSSFWorkbook wb = null;

        log.debug("EgovExcelServiceImpl.loadExcelTemplate : templatePath is " + templateName);

        try {
            log.debug("ExcelServiceImpl loadExcelTemplate ...");

            POIFSFileSystem fs = new POIFSFileSystem(fileIn);
            wb = new HSSFWorkbook(fs);

        } catch (Exception e) {
            log.error(getMessageSource().getMessage("error.excel.runtime.error",
                    new Object[] { "EgovExcelServiceImpl loadExcelTemplate" }, Locale.getDefault()), e);
        } finally {
            log.debug("ExcelServiceImpl loadExcelTemplate end...");
            fileIn.close();
        }
        return wb;

    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#loadXSSFExcelTemplate(java.lang.String)
     */
    public XSSFWorkbook loadXSSFExcelTemplate(String templateName)
            throws BaseException, FileNotFoundException, IOException {

        FileInputStream fileIn = new FileInputStream(templateName);
        XSSFWorkbook wb = null;

        log.debug("EgovExcelServiceImpl.loadXSSFExcelTemplate : templatePath is " + templateName);

        try {
            log.debug("ExcelServiceImpl loadXSSFExcelTemplate ...");

            wb = new XSSFWorkbook(fileIn);

        } catch (Exception e) {
            log.error(getMessageSource().getMessage("error.excel.runtime.error",
                    new Object[] { "EgovExcelServiceImpl loadXSSFExcelTemplate" }, Locale.getDefault()), e);

        } finally {
            log.debug("ExcelServiceImpl loadXSSFExcelTemplate end...");
            fileIn.close();
        }
        return wb;

    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#loadWorkbook(java.lang.String)
     */
    public HSSFWorkbook loadWorkbook(String filepath) throws BaseException, FileNotFoundException, IOException {

        FileInputStream fileIn = new FileInputStream(filepath);
        HSSFWorkbook wb = loadWorkbook(fileIn);
        fileIn.close();

        return wb;
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#loadXSSFWorkbook(java.lang.String)
     */
    public XSSFWorkbook loadXSSFWorkbook(String filepath) throws BaseException, FileNotFoundException, IOException {

        FileInputStream fileIn = new FileInputStream(filepath);
        XSSFWorkbook wb = loadXSSFWorkbook(fileIn);
        fileIn.close();

        return wb;
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#loadWorkbook(java.io.InputStream)
     */
    public HSSFWorkbook loadWorkbook(InputStream fileIn) throws BaseException {
        HSSFWorkbook wb = new HSSFWorkbook();

        try {
            log.debug("ExcelServiceImpl loadWorkbook ...");

            POIFSFileSystem fs = new POIFSFileSystem(fileIn);
            wb = new HSSFWorkbook(fs);

        } catch (Exception e) {
            log.error(getMessageSource().getMessage("error.excel.runtime.error", new Object[] { "loadWorkbook" },
                    Locale.getDefault()), e);
        }

        return wb;
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#loadXSSFWorkbook(java.io.InputStream)
     */
    public XSSFWorkbook loadXSSFWorkbook(InputStream fileIn) throws BaseException {
        XSSFWorkbook wb = new XSSFWorkbook();

        try {
            log.debug("ExcelServiceImpl loadXSSFWorkbook ...");

            wb = new XSSFWorkbook(fileIn);

        } catch (Exception e) {
            log.error(getMessageSource().getMessage("error.excel.runtime.error",
                    new Object[] { "loadXSSFWorkbook" }, Locale.getDefault()), e);
        }

        return wb;
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#writeWorkbook(org.apache.poi.hssf.usermodel.HSSFWorkbook)
     */
    public void writeWorkbook(HSSFWorkbook workbook) throws BaseException, IOException {

        workbook.write(null);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#writeWorkbook(org.apache.poi.hssf.usermodel.HSSFWorkbook)
     */
    public void writeXSSFWorkbook(XSSFWorkbook workbook) throws BaseException, IOException {

        workbook.write(null);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#writeWorkbook(org.apache.poi.hssf.usermodel.HSSFWorkbook)
     */
    public void writeSXSSFWorkbook(SXSSFWorkbook workbook) throws BaseException, IOException {

        workbook.write(null);

    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#createWorkbook(org.apache.poi.hssf.usermodel.HSSFWorkbook, java.lang.String)
     */
    public HSSFWorkbook createWorkbook(HSSFWorkbook wb, String filepath)
            throws BaseException, FileNotFoundException, IOException {

        String fullFileName = filepath;

        log.debug(
                "EgovExcelServiceImpl.createWorkbook : templatePath is " + FilenameUtils.getFullPath(fullFileName));

        //   ?
        if (!EgovFileUtil.isExistsFile(FilenameUtils.getFullPath(fullFileName))) {
            log.debug("make dir " + FilenameUtils.getFullPath(fullFileName));

            try {
                FileUtils.forceMkdir(new File(FilenameUtils.getFullPath(fullFileName)));
            } catch (IOException e) {
                throw new IOException(
                        "Cannot create directory for path: " + FilenameUtils.getFullPath(fullFileName));
            }
        }

        FileOutputStream fileOut = new FileOutputStream(fullFileName);

        log.debug("EgovExcelServiceImpl.createWorkbook : templatePath is " + fullFileName);

        try {
            log.debug("ExcelServiceImpl loadExcelObject ...");

            wb.write(fileOut);

        } catch (Exception e) {
            log.error(getMessageSource().getMessage("error.excel.runtime.error", new Object[] { "createWorkbook" },
                    Locale.getDefault()), e);
        } finally {
            log.debug("ExcelServiceImpl loadExcelObject end...");
            fileOut.close();
        }

        return wb;
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#createWorkbook(org.apache.poi.xssf.usermodel.XSSFWorkbook, java.lang.String)
     */
    public XSSFWorkbook createXSSFWorkbook(XSSFWorkbook wb, String filepath)
            throws BaseException, FileNotFoundException, IOException {

        String fullFileName = filepath;

        log.debug(
                "EgovExcelServiceImpl.createWorkbook : templatePath is " + FilenameUtils.getFullPath(fullFileName));

        //   ?
        if (!EgovFileUtil.isExistsFile(FilenameUtils.getFullPath(fullFileName))) {
            log.debug("make dir " + FilenameUtils.getFullPath(fullFileName));

            try {
                FileUtils.forceMkdir(new File(FilenameUtils.getFullPath(fullFileName)));
            } catch (IOException e) {
                throw new IOException(
                        "Cannot create directory for path: " + FilenameUtils.getFullPath(fullFileName));
            }
        }

        FileOutputStream fileOut = new FileOutputStream(fullFileName);

        log.debug("EgovExcelServiceImpl.createWorkbook : templatePath is " + fullFileName);

        try {
            log.debug("ExcelServiceImpl loadExcelObject ...");

            wb.write(fileOut);

        } catch (Exception e) {
            log.error(getMessageSource().getMessage("error.excel.runtime.error",
                    new Object[] { "createXSSFWorkbook" }, Locale.getDefault()), e);
        } finally {
            log.debug("ExcelServiceImpl loadExcelObject end...");
            fileOut.close();
        }

        return wb;
    }

    /*
    * (non-Javadoc)
    * @see egovframework.rte.fdl.excel.EgovExcelService#createSXSSFWorkbook(org.apache.poi.xssf.streaming.SXSSFWorkbook, java.lang.String)
    */
    public SXSSFWorkbook createSXSSFWorkbook(SXSSFWorkbook wb, String filepath)
            throws BaseException, FileNotFoundException, IOException {

        String fullFileName = filepath;

        log.debug(
                "EgovExcelServiceImpl.createWorkbook : templatePath is " + FilenameUtils.getFullPath(fullFileName));

        //   ?
        if (!EgovFileUtil.isExistsFile(FilenameUtils.getFullPath(fullFileName))) {
            log.debug("make dir " + FilenameUtils.getFullPath(fullFileName));

            try {
                FileUtils.forceMkdir(new File(FilenameUtils.getFullPath(fullFileName)));
            } catch (IOException e) {
                throw new IOException(
                        "Cannot create directory for path: " + FilenameUtils.getFullPath(fullFileName));
            }
        }

        FileOutputStream fileOut = new FileOutputStream(fullFileName);

        log.debug("EgovExcelServiceImpl.createWorkbook : templatePath is " + fullFileName);

        try {
            log.debug("ExcelServiceImpl loadExcelObject ...");

            wb.write(fileOut);

        } catch (Exception e) {
            log.error(getMessageSource().getMessage("error.excel.runtime.error",
                    new Object[] { "createSXSSFWorkbook" }, Locale.getDefault()), e);

        } finally {
            log.debug("ExcelServiceImpl loadExcelObject end...");
            fileOut.close();
        }

        return wb;
    }

    /**
     * Sheet? ? DB upload .
     * 
     * @param String queryId
     * @param HSSFSheet sheet
     * @param int start
     * @param long commitCnt
     * @return
     * @throws Exception
     */
    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, org.apache.poi.hssf.usermodel.HSSFSheet, int, long)
     */
    public Integer uploadExcel(String queryId, HSSFSheet sheet, int start, long commitCnt)
            throws BaseException, Exception {

        log.debug("sheet.getPhysicalNumberOfRows() : " + sheet.getPhysicalNumberOfRows());

        Integer rowsAffected = 0;

        try {

            long rowCnt = sheet.getPhysicalNumberOfRows();
            long cnt = (commitCnt == 0) ? rowCnt : commitCnt;

            log.debug("Runtime.getRuntime().totalMemory() : " + Runtime.getRuntime().totalMemory());
            log.debug("Runtime.getRuntime().freeMemory() : " + Runtime.getRuntime().freeMemory());

            long startTime = System.currentTimeMillis();

            for (int idx = start, i = start; idx < rowCnt; idx = i) {
                List<Object> list = new ArrayList<Object>();

                log.debug("before Runtime.getRuntime().freeMemory() : " + Runtime.getRuntime().freeMemory());

                EgovExcelMapping mapping = null;

                if (mapBeanName != null) {
                    mapping = (EgovExcelMapping) applicationContext.getBean(mapBeanName);
                } else if (mapClass != null) {
                    mapping = (EgovExcelMapping) EgovObjectUtil.instantiate(mapClass);
                } else {
                    throw new RuntimeException(
                            getMessageSource().getMessage("error.excel.property.error", null, Locale.getDefault()));
                }

                for (i = idx; i < rowCnt && i < (cnt + idx); i++) {
                    HSSFRow row = sheet.getRow(i);
                    list.add(mapping.mappingColumn(row));
                }

                // insert
                //  spring  ibatis? batch ?   ? exception ?? rollback ?   ?.
                // ibatis ? batch  sqlMapClient.startTransaction() ??    ?  ? !

                rowsAffected += dao.batchInsert(queryId, list);

                log.debug("after Runtime.getRuntime().freeMemory() : " + Runtime.getRuntime().freeMemory());

                log.debug("\n\n\n" + rowsAffected);
            }

            log.debug("batchInsert time is " + (System.currentTimeMillis() - startTime));

        } catch (Exception e) {
            throw new Exception(e);
        }

        log.debug("uploadExcel result count is " + rowsAffected);

        return rowsAffected;
    }

    /**
     * Sheet? ? DB upload .
     * 
     * @param String queryId
     * @param HSSFSheet sheet
     * @param int start
     * @param long commitCnt
     * @return
     * @throws Exception
     */
    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadSXSSFExcel(java.lang.String, org.apache.poi.xssf.usermodel.XSSFSheet, int, long)
     */
    public Integer uploadXSSFExcel(String queryId, XSSFSheet sheet, int start, long commitCnt)
            throws BaseException, Exception {

        log.debug("sheet.getPhysicalNumberOfRows() : " + sheet.getPhysicalNumberOfRows());

        Integer rowsAffected = 0;

        try {

            long rowCnt = sheet.getPhysicalNumberOfRows();
            long cnt = (commitCnt == 0) ? rowCnt : commitCnt;

            log.debug("Runtime.getRuntime().totalMemory() : " + Runtime.getRuntime().totalMemory());
            log.debug("Runtime.getRuntime().freeMemory() : " + Runtime.getRuntime().freeMemory());

            long startTime = System.currentTimeMillis();

            for (int idx = start, i = start; idx < rowCnt; idx = i) {
                List<Object> list = new ArrayList<Object>();

                log.debug("before Runtime.getRuntime().freeMemory() : " + Runtime.getRuntime().freeMemory());
                EgovExcelXSSFMapping mapping = null;

                if (mapBeanName != null) {
                    mapping = (EgovExcelXSSFMapping) applicationContext.getBean(mapBeanName);
                } else if (mapClass != null) {
                    mapping = (EgovExcelXSSFMapping) EgovObjectUtil.instantiate(mapClass);
                } else {
                    throw new RuntimeException(
                            getMessageSource().getMessage("error.excel.property.error", null, Locale.getDefault()));
                }

                for (i = idx; i < rowCnt && i < (cnt + idx); i++) {
                    XSSFRow row = sheet.getRow(i);
                    list.add(mapping.mappingColumn(row));
                }

                // insert
                //  spring  ibatis? batch ?  ? exception ?? rollback ?   ?.
                // ibatis ? batch  sqlMapClient.startTransaction() ??    ?  ? !

                rowsAffected += dao.batchInsert(queryId, list);

                log.debug("after Runtime.getRuntime().freeMemory() : " + Runtime.getRuntime().freeMemory());

                log.debug("\n\n\n" + rowsAffected);
            }

            log.debug("batchInsert time is " + (System.currentTimeMillis() - startTime));

        } catch (Exception e) {
            throw new Exception(e);
        }

        log.debug("uploadExcel result count is " + rowsAffected);

        return rowsAffected;
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, org.apache.poi.hssf.usermodel.HSSFSheet, int)
     */
    public Integer uploadExcel(String queryId, HSSFSheet sheet, int start) throws BaseException, Exception {
        return uploadExcel(queryId, sheet, start, 0);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, org.apache.poi.xssf.usermodel.XSSFSheet, int)
     */
    public Integer uploadXSSFExcel(String queryId, XSSFSheet sheet, int start) throws BaseException, Exception {
        return uploadXSSFExcel(queryId, sheet, start, 0);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, org.apache.poi.hssf.usermodel.HSSFSheet, long)
     */
    public Integer uploadExcel(String queryId, HSSFSheet sheet, long commitCnt) throws BaseException, Exception {
        return uploadExcel(queryId, sheet, 0, commitCnt);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, org.apache.poi.xssf.usermodel.XSSFSheet, long)
     */
    public Integer uploadXSSFExcel(String queryId, XSSFSheet sheet, long commitCnt)
            throws BaseException, Exception {
        return uploadXSSFExcel(queryId, sheet, 0, commitCnt);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, org.apache.poi.hssf.usermodel.HSSFSheet)
     */
    public Integer uploadExcel(String queryId, HSSFSheet sheet) throws BaseException, Exception {
        return uploadExcel(queryId, sheet, 0, 0);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, org.apache.poi.hssf.usermodel.HSSFSheet)
     */
    public Integer uploadXSSFExcel(String queryId, XSSFSheet sheet) throws BaseException, Exception {
        return uploadXSSFExcel(queryId, sheet, 0, 0);
    }

    /**
     * ?? ? DB upload .
     * 
     * @param String queryId
     * @param InputStream fileIn
     * @param int start
     * @param long commitCnt
     * @return
     * @throws Exception
     */
    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, ava.io.InputStream, int)
     */
    public Integer uploadExcel(String queryId, InputStream fileIn, int start, long commitCnt)
            throws BaseException, Exception {
        HSSFWorkbook wb = loadWorkbook(fileIn);
        HSSFSheet sheet = wb.getSheetAt(0);

        return uploadExcel(queryId, sheet, start, commitCnt);
    }

    /**
     * ?? ? DB upload .
     * 
     * @param String queryId
     * @param InputStream fileIn
     * @param int start
     * @param long commitCnt
     * @return
     * @throws Exception
     */
    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, int)
     */
    public Integer uploadXSSFExcel(String queryId, InputStream fileIn, int start, long commitCnt)
            throws BaseException, Exception {
        XSSFWorkbook wb = loadXSSFWorkbook(fileIn);
        XSSFSheet sheet = wb.getSheetAt(0);

        return uploadXSSFExcel(queryId, sheet, start, commitCnt);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, int)
     */
    public Integer uploadExcel(String queryId, InputStream fileIn, int start) throws BaseException, Exception {
        return uploadExcel(queryId, fileIn, start, 0);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, int)
     */
    public Integer uploadXSSFExcel(String queryId, InputStream fileIn, int start) throws BaseException, Exception {
        return uploadXSSFExcel(queryId, fileIn, start, 0);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream)
     */
    public Integer uploadExcel(String queryId, InputStream fileIn, long commitCnt) throws BaseException, Exception {
        return uploadExcel(queryId, fileIn, 0, commitCnt);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream)
     */
    public Integer uploadXSSFExcel(String queryId, InputStream fileIn, long commitCnt)
            throws BaseException, Exception {
        return uploadXSSFExcel(queryId, fileIn, 0, commitCnt);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream)
     */
    public Integer uploadExcel(String queryId, InputStream fileIn) throws BaseException, Exception {
        return uploadExcel(queryId, fileIn, 0, 0);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream)
     */
    public Integer uploadXSSFExcel(String queryId, InputStream fileIn) throws BaseException, Exception {
        return uploadXSSFExcel(queryId, fileIn, 0, 0);
    }

    /**
     * ?? ? DB upload . sheet? ?? upload sheet .
     * 
     * @param String queryId
     * @param InputStream fileIn
     * @param short sheetIndex
     * @param int start
     * @param long commitCnt
     * @return
     * @throws Exception
     */
    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, short, int)
     */
    public Integer uploadExcel(String queryId, InputStream fileIn, short sheetIndex, int start, long commitCnt)
            throws BaseException, Exception {
        HSSFWorkbook wb = loadWorkbook(fileIn);
        HSSFSheet sheet = wb.getSheetAt(sheetIndex);

        return uploadExcel(queryId, sheet, start, commitCnt);
    }

    /**
     * ?? ? DB upload . sheet? ?? upload sheet .
     * 
     * @param String queryId
     * @param InputStream fileIn
     * @param short sheetIndex
     * @param int start
     * @param long commitCnt
     * @return
     * @throws Exception
     */
    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, short, int)
     */
    public Integer uploadXSSFExcel(String queryId, InputStream fileIn, short sheetIndex, int start, long commitCnt)
            throws BaseException, Exception {
        XSSFWorkbook wb = loadXSSFWorkbook(fileIn);
        XSSFSheet sheet = wb.getSheetAt(sheetIndex);

        return uploadXSSFExcel(queryId, sheet, start, commitCnt);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, short, int)
     */
    public Integer uploadExcel(String queryId, InputStream fileIn, short sheetIndex, int start)
            throws BaseException, Exception {
        return uploadExcel(queryId, fileIn, sheetIndex, start, 0);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, short, int)
     */
    public Integer uploadXSSFExcel(String queryId, InputStream fileIn, short sheetIndex, int start)
            throws BaseException, Exception {
        return uploadXSSFExcel(queryId, fileIn, sheetIndex, start, 0);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, short, long)
     */
    public Integer uploadExcel(String queryId, InputStream fileIn, short sheetIndex, long commitCnt)
            throws BaseException, Exception {
        return uploadExcel(queryId, fileIn, sheetIndex, 0, commitCnt);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, short, long)
     */
    public Integer uploadXSSFExcel(String queryId, InputStream fileIn, short sheetIndex, long commitCnt)
            throws BaseException, Exception {
        return uploadXSSFExcel(queryId, fileIn, sheetIndex, 0, commitCnt);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, short)
     */
    public Integer uploadExcel(String queryId, InputStream fileIn, short sheetIndex)
            throws BaseException, Exception {
        return uploadExcel(queryId, fileIn, sheetIndex, 0, 0);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, short)
     */
    public Integer uploadXSSFExcel(String queryId, InputStream fileIn, short sheetIndex)
            throws BaseException, Exception {
        return uploadXSSFExcel(queryId, fileIn, sheetIndex, 0, 0);
    }

    /**
     * ?? ? DB upload . sheet?  upload sheet .
     * 
     * @param String queryId
     * @param InputStream fileIn
     * @param String sheetName
     * @param int start
     * @param long commitCnt
     * @return
     * @throws Exception
     */
    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, java.lang.String, int, long)
     */
    public Integer uploadExcel(String queryId, InputStream fileIn, String sheetName, int start, long commitCnt)
            throws BaseException, Exception {
        HSSFWorkbook wb = loadWorkbook(fileIn);
        HSSFSheet sheet = wb.getSheet(sheetName);

        return uploadExcel(queryId, sheet, start, commitCnt);
    }

    /**
     * ?? ? DB upload . sheet?  upload sheet .
     * 
     * @param String queryId
     * @param InputStream fileIn
     * @param String sheetName
     * @param int start
     * @param long commitCnt
     * @return
     * @throws Exception
     */
    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, java.lang.String, int, long)
     */
    public Integer uploadXSSFExcel(String queryId, InputStream fileIn, String sheetName, int start, long commitCnt)
            throws BaseException, Exception {
        XSSFWorkbook wb = loadXSSFWorkbook(fileIn);
        XSSFSheet sheet = wb.getSheet(sheetName);

        return uploadXSSFExcel(queryId, sheet, start, commitCnt);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, java.lang.String, int)
     */
    public Integer uploadExcel(String queryId, InputStream fileIn, String sheetName, int start)
            throws BaseException, Exception {
        return uploadExcel(queryId, fileIn, sheetName, start, 0);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, java.lang.String, int)
     */
    public Integer uploadXSSFExcel(String queryId, InputStream fileIn, String sheetName, int start)
            throws BaseException, Exception {
        return uploadXSSFExcel(queryId, fileIn, sheetName, start, 0);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, java.lang.String, long)
     */
    public Integer uploadExcel(String queryId, InputStream fileIn, String sheetName, long commitCnt)
            throws BaseException, Exception {
        return uploadExcel(queryId, fileIn, sheetName, 0, commitCnt);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, java.lang.String, long)
     */
    public Integer uploadXSSFExcel(String queryId, InputStream fileIn, String sheetName, long commitCnt)
            throws BaseException, Exception {
        return uploadXSSFExcel(queryId, fileIn, sheetName, 0, commitCnt);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, java.lang.String)
     */
    public Integer uploadExcel(String queryId, InputStream fileIn, String sheetName)
            throws BaseException, Exception {
        return uploadExcel(queryId, fileIn, sheetName, 0, 0);
    }

    /*
     * (non-Javadoc)
     * @see egovframework.rte.fdl.excel.EgovExcelService#uploadExcel(java.lang.String, java.io.InputStream, java.lang.String)
     */
    public Integer uploadXSSFExcel(String queryId, InputStream fileIn, String sheetName)
            throws BaseException, Exception {
        return uploadXSSFExcel(queryId, fileIn, sheetName, 0, 0);
    }

}