Skip to content

Commit

Permalink
added mustMatch parameter
Browse files Browse the repository at this point in the history
  • Loading branch information
xormplus committed Dec 20, 2016
1 parent 208b1c7 commit 6e562e9
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 16 deletions.
12 changes: 6 additions & 6 deletions databook.go
Expand Up @@ -19,14 +19,14 @@ func NewDatabook() *Databook {
return db
}

func NewDatabookWithData(sheetName map[string]string, data interface{}, headers ...map[string][]string) (*Databook, error) {
func NewDatabookWithData(sheetName map[string]string, data interface{}, mustMatch bool, headers ...map[string][]string) (*Databook, error) {
s := len(sheetName)

switch data.(type) {
case map[string]*tablib.Dataset:
dataModel1 := data.(map[string]*tablib.Dataset)
d1 := len(dataModel1)
if s != d1 {
if s != d1 && mustMatch {
return nil, ErrParamsType
}

Expand All @@ -49,7 +49,7 @@ func NewDatabookWithData(sheetName map[string]string, data interface{}, headers

h := len(headers[0])

if s != h || s != d2 {
if (s != h || s != d2) && mustMatch {
return nil, ErrParamsType
}
databook := tablib.NewDatabook()
Expand All @@ -61,7 +61,7 @@ func NewDatabookWithData(sheetName map[string]string, data interface{}, headers
return nil, ErrParamsType
}

dataset, err := NewDatasetWithData(headers[0][k], dataModel2[k])
dataset, err := NewDatasetWithData(headers[0][k], dataModel2[k], mustMatch)
if err != nil {
return nil, err
}
Expand All @@ -75,7 +75,7 @@ func NewDatabookWithData(sheetName map[string]string, data interface{}, headers
}
}

func (databook *Databook) AddSheet(title string, data interface{}, headers ...[]string) error {
func (databook *Databook) AddSheet(title string, data interface{}, mustMatch bool, headers ...[]string) error {

switch data.(type) {
case *tablib.Dataset:
Expand All @@ -87,7 +87,7 @@ func (databook *Databook) AddSheet(title string, data interface{}, headers ...[]
if len(headers) != 1 {
return ErrParamsType
}
dataset, err := NewDatasetWithData(headers[0], dataSlice)
dataset, err := NewDatasetWithData(headers[0], dataSlice, mustMatch)
if err != nil {
return err
}
Expand Down
4 changes: 2 additions & 2 deletions dataset.go
Expand Up @@ -14,7 +14,7 @@ func NewDataset(headers []string) *tablib.Dataset {
}

// NewDatasetWithData creates a new Dataset.
func NewDatasetWithData(headers []string, data interface{}) (*tablib.Dataset, error) {
func NewDatasetWithData(headers []string, data interface{}, mustMatch bool) (*tablib.Dataset, error) {
if data == nil {
return tablib.NewDatasetWithData(headers, nil), nil
}
Expand All @@ -29,7 +29,7 @@ func NewDatasetWithData(headers []string, data interface{}) (*tablib.Dataset, er
if len(dataSlice[0]) == 0 {
return tablib.NewDatasetWithData(headers, make([][]interface{}, len(dataSlice))), nil
} else {
if n != len(dataSlice[0]) {
if n != len(dataSlice[0]) && mustMatch {
return nil, ErrParamsType
}
mapHeaders := make(map[string]int, n)
Expand Down
16 changes: 8 additions & 8 deletions sessionplus.go
Expand Up @@ -183,7 +183,7 @@ func (resultMap *ResultMap) SaveAsCSV(filename string, headers []string, perm os
return resultMap.Error
}

dataset, err := NewDatasetWithData(headers, resultMap.Results)
dataset, err := NewDatasetWithData(headers, resultMap.Results, true)
if err != nil {
return err
}
Expand All @@ -201,7 +201,7 @@ func (resultMap *ResultMap) SaveAsTSV(filename string, headers []string, perm os
return resultMap.Error
}

dataset, err := NewDatasetWithData(headers, resultMap.Results)
dataset, err := NewDatasetWithData(headers, resultMap.Results, true)
if err != nil {
return err
}
Expand All @@ -219,7 +219,7 @@ func (resultMap *ResultMap) SaveAsHTML(filename string, headers []string, perm o
return resultMap.Error
}

dataset, err := NewDatasetWithData(headers, resultMap.Results)
dataset, err := NewDatasetWithData(headers, resultMap.Results, true)
if err != nil {
return err
}
Expand All @@ -234,7 +234,7 @@ func (resultMap *ResultMap) SaveAsXML(filename string, headers []string, perm os
return resultMap.Error
}

dataset, err := NewDatasetWithData(headers, resultMap.Results)
dataset, err := NewDatasetWithData(headers, resultMap.Results, false)
if err != nil {
return err
}
Expand All @@ -252,7 +252,7 @@ func (resultMap *ResultMap) SaveAsXMLWithTagNamePrefixIndent(tagName string, pri
return resultMap.Error
}

dataset, err := NewDatasetWithData(headers, resultMap.Results)
dataset, err := NewDatasetWithData(headers, resultMap.Results, false)
if err != nil {
return err
}
Expand All @@ -270,7 +270,7 @@ func (resultMap *ResultMap) SaveAsYAML(filename string, headers []string, perm o
return resultMap.Error
}

dataset, err := NewDatasetWithData(headers, resultMap.Results)
dataset, err := NewDatasetWithData(headers, resultMap.Results, false)
if err != nil {
return err
}
Expand All @@ -288,7 +288,7 @@ func (resultMap *ResultMap) SaveAsJSON(filename string, headers []string, perm o
return resultMap.Error
}

dataset, err := NewDatasetWithData(headers, resultMap.Results)
dataset, err := NewDatasetWithData(headers, resultMap.Results, false)
if err != nil {
return err
}
Expand All @@ -306,7 +306,7 @@ func (resultMap *ResultMap) SaveAsXLSX(filename string, headers []string, perm o
return resultMap.Error
}

dataset, err := NewDatasetWithData(headers, resultMap.Results)
dataset, err := NewDatasetWithData(headers, resultMap.Results, true)
if err != nil {
return err
}
Expand Down

0 comments on commit 6e562e9

Please sign in to comment.