excel
type s1 struct {
Name string `export:"一级姓名|姓名2,3"`
Age int32 `export:"年龄2,6"`
Time string `export:"时间2,9"`
}
type s struct {
Name string `export:"一级姓名|姓名1,2"`
Age int32 `export:"年龄1,5"`
Time string `export:"时间1,8"`
List []s1
}
type p struct {
Name string `export:"一级姓名|二级姓名|姓名,1"`
Age int32 `export:"年龄,4"`
Time string `export:"时间,7"`
List []s
}
func main() {
v := &p{
Name: "天外飞仙",
Age: 18,
Time: "我是时间",
List: []s{
{
Name: "大名",
Age: 19,
Time: "我是大名时间",
List: []s1{
{
Name: "大名",
Age: 19,
Time: "我是大名时间",
},
},
},
{
Name: "小名",
Age: 20,
},
},
}
v2:=&p{
Name: "天外飞仙",
Age: 16,
Time: "我是开始时间",
List: []s{
{
Name: "小名",
Age: 20,
Time: "我是小名时间",
List: []s1{
{
Name: "大名",
Age: 19,
Time: "我是大名时间",
},
{
Name: "大名",
Age: 19,
Time: "我是大名时间",
},
},
},
{
Name: "小名",
Age: 21,
Time: "我是小名名时间2",
},
{
Name: "小名",
Age: 21,
Time: "我是小名名时间2",
},
},
}
list := append([]*p(nil), v, v2)
xlsx, err := goexcel.ListToExcelSheet1(list)
if err != nil {
fmt.Println(err.Error())
return
}
err = xlsx.SaveAs(time.Now().Format("20060102150405") + ".xlsx")
}
一级姓名 | 年龄 | 年龄1 | 年龄2 | 时间 | 时间1 | 时间2 | ||
二级姓名 | 姓名1 | 姓名2 | ||||||
姓名 | ||||||||
天外飞仙 | 大名 | 大名 | 18 | 19 | 19 | 我是时间 | 我是大名时间 | 我是大名时间 |
小名 | 20 | |||||||
天外飞仙 | 小名 | 大名 | 16 | 20 | 19 | 我是开始时间 | 我是小名时间 | 我是大名时间 |
大名 | 19 | 我是大名时间 | ||||||
小名 | 21 | 我是小名名时间2 | ||||||
小名 | 21 | 我是小名名时间2 |
// load from excel
var list []*p
goexcel.ExcelSheet1ToListFromPath("20210814182854.xlsx", &list)