首页 新闻 会员 周边

golang操作excel

0
悬赏园豆:5 [待解决问题]

求大神帮忙。急。。。。我想创建excel文件。在创建sheet,可以创建多个sheet工作表。怎么确定要往我创建的sheet导入数据。

我想下面的代码怎么改。

复制代码
func ReadXlsx(c []CmdbTest, SheetName string) error {
    //打开文件,如果文件不存在创建,存在就打开
    path := "./cmdb_test.xlsx"
    b, err := PathExists(path)
    if err != nil {
        fmt.Sprintln(err)
    }
    if !b {
        file := xlsx.NewFile()
        err := file.Save(path)
        if err != nil {
            fmt.Println("创建xlsx文件发生错误")
        }
    }
    file, err := xlsx.OpenFile(path)
    if err != nil {
        fmt.Println("打开xlsx文件发生异常")
    }
    //判断结构体sheetName是否存在。
    b, err = PathExists(SheetName)
    if err != nil {
        fmt.Sprintln(err)
    }
    if !b {
        //创建sheet
        alert := []string{"项目名称", "测试接口名称", "测试参数", "测试条数", "总耗时", "评均耗时", "最大耗时", "最小耗时"}
        file := xlsx.NewFile()
        sheet, _ := file.AddSheet(SheetName)
        row := sheet.AddRow()
        for _, a := range alert {
            row.AddCell().SetString(a)
        }
        err := file.Save(path)
        if err != nil {
            panic(err)
        }
    }
    //数据录入
    for _, v := range c {
        ls := []string{v.PMName, v.InterfaceName, v.Type, v.TestNumber, v.SumTime, v.MeanTime, v.MaxTime, v.MinTime}
        
    //怎么才能确定sheet,向sheet内插入数据
    //???????first := file.Sheet[SheetName]
        fmt.Println("xxxxxxxxxxx", first)
        row := first.AddRow()
        for _, r := range ls {
            cell := row.AddCell()
            cell.Value = r
            err = file.Save(path)
            if err != nil {
                fmt.Println("写入信息发生异常,文件正在使用")
            }
        }
    }
    return err
}
    
复制代码
craneboos的主页 craneboos | 菜鸟二级 | 园豆:201
提问于:2018-05-20 10:04
< >
分享
所有回答(2)
0
dudu | 园豆:30994 (高人七级) | 2018-05-20 10:49
0

已解决。。。。。

craneboos | 园豆:201 (菜鸟二级) | 2018-05-22 14:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册