func GetExcelFilePath(path, sheetName string, headers []string) ([]*map[string]interface{}, error) {
	var (
		result   []*map[string]interface{}
		err      error
		byteFile []byte
		keyName  = hashKeyString(fmt.Sprintf(`%s||%s||%s`, path, sheetName, strings.Join(headers, "||")))
	)
	if byteFile, err = getFilePath(path); err != nil {
		return nil, err
	}
	if result, err = parseExcelFileData(byteFile, keyName, sheetName); err != nil {
		return nil, err
	}
	if len(headers) > 0 {
		result = filterDataHeaders(mapHeaders(headers), result)
	}
	return result, nil
}
GetExcelFilePath to read all data excel
path is string path file name
sheetName is sheet name in excel file
Headers is array string that is want to select specific data
package excel2json
import (
	"fmt"
	"github.com/patrickmn/go-cache"
	"strings"
	"time"
)
var localCache = cache.New(5*time.Minute, 10*time.Minute)
func GetExcelFileUrl(url, sheetName string, headers []string) ([]*map[string]interface{}, error) {
	var (
		result   []*map[string]interface{}
		err      error
		byteFile []byte
		keyName  = hashKeyString(fmt.Sprintf(`%s||%s||%s`, url, sheetName, strings.Join(headers, "||")))
	)
	if byteFile, err = getFileUrl(url); err != nil {
		return nil, err
	}
	if result, err = parseExcelFileData(byteFile, keyName, sheetName); err != nil {
		return nil, err
	}
	if len(headers) > 0 {
		result = filterDataHeaders(mapHeaders(headers), result)
	}
	return result, nil
}