示例#1
0
func NewSheet(s string, o osfile.OsFile) Sheet {
	name, err1 := NewFilename(s)
	if err1 != nil {
		log.WithFields(log.Fields{
			"path":     o.Dir,
			"filename": name.String(),
			"err":      err1,
		}).Error(asset.Tr("error_file_csv_unmarshal"))
	}

	r := o.NewReader(name.String())
	defer r.Close()

	rcsv := csv.NewReader(r)
	out, err2 := rcsv.ReadAll()

	if err2 != nil {
		log.WithFields(log.Fields{
			"path":     o.Dir,
			"filename": name.String(),
			"view":     out,
			"err":      err2,
		}).Error(asset.Tr("error_file_csv_unmarshal"))
	}

	tab := strtab.NewT(out[0], out[1:]...)

	return Sheet{name, tab, nil}
}