package extract import ( "os" log "github.com/sirupsen/logrus" "github.com/xuri/excelize/v2" ) // 卫星时间起点 北京时间 2000-01-01 20:00:00 var ( ReferenceTime2000 = 946728000 ) func (e Extractor) ExtractAux(auxfile, xlsxfile string) error { os.Remove(xlsxfile) if err := createAuxXlsx(xlsxfile); err != nil { return err } f, err := excelize.OpenFile(xlsxfile) if err != nil { return err } defer f.Close() data, err := os.ReadFile(auxfile) if err != nil { log.Println("read aux data from", auxfile, "error:", err.Error()) return err } row := 2 col := 1 for i := 0; i < len(data); i += 24 + 128 + 512 { if i+24+128+512 > len(data) { break } var head AuxFrameHead head.Decode(data[i : i+24]) l0, _ := head.SaveXlsx(f, col, row) var box AuxFocalBox box.Decode(data[i+24 : i+24+128]) l1, _ := box.SaveXlsx(f, col+l0, row) var plat AuxPlatform plat.Decode(data[i+24+128 : i+24+128+512]) plat.SaveXlsx(f, col+l0+l1, row) row++ } return f.Save() }