package main import ( "log" "os" "path" "path/filepath" "strconv" "time" "github.com/xuri/excelize/v2" "rodbiren.ddns.net/git/robviren/datahop/runner" ) func main() { exe_path, err := os.Executable() if err != nil { log.Fatalln(err) } work_dir := filepath.Dir(exe_path) datahop := runner.NewRunner() data := datahop.RunAll() defer datahop.Close() var f *excelize.File _, err = os.Stat(path.Join(work_dir, "data.xlsx")) if err == nil { f, err = excelize.OpenFile(path.Join(work_dir, "data.xlsx")) if err != nil { log.Println(err) } } else { f = excelize.NewFile() f.NewSheet("Facebook") f.NewSheet("Instagram") } f.DeleteSheet("Sheet1") f.SetCellValue("Facebook", "A1", "Brand") f.SetCellValue("Facebook", "B1", "Followers") f.SetCellValue("Facebook", "C1", "Engagement") f.SetCellValue("Facebook", "D1", "Posts") f.SetCellValue("Facebook", "E1", "Posts") f.SetCellValue("Instagram", "A1", "Brand") f.SetCellValue("Instagram", "B1", "Followers") f.SetCellValue("Instagram", "C1", "Engagement") f.SetCellValue("Instagram", "D1", "Posts") f.SetCellValue("Instagram", "E1", "Posts") for _, elm := range data { rows, err := f.GetRows(elm.Site) if err != nil { log.Println(err) } f.SetCellValue(elm.Site, "A"+strconv.Itoa(1+len(rows)), elm.Name) f.SetCellValue(elm.Site, "B"+strconv.Itoa(1+len(rows)), elm.Followers) f.SetCellValue(elm.Site, "C"+strconv.Itoa(1+len(rows)), elm.Engagement) f.SetCellValue(elm.Site, "D"+strconv.Itoa(1+len(rows)), elm.Posts) f.SetCellValue(elm.Site, "E"+strconv.Itoa(1+len(rows)), time.Now().Format("01-02-2006")) } current_day := time.Now() if err := f.SaveAs(path.Join(work_dir, "data-"+current_day.Format("01-02-2006")+".xlsx")); err != nil { log.Println(err) } if err := f.SaveAs(path.Join(work_dir, "data.xlsx")); err != nil { log.Println(err) } // signal_channel := make(chan os.Signal, 1) // signal.Notify(signal_channel, os.Interrupt) // <-signal_channel }