46 lines
787 B
Go
46 lines
787 B
Go
package extract
|
|
|
|
import (
|
|
"os"
|
|
|
|
log "github.com/sirupsen/logrus"
|
|
"github.com/tealeg/xlsx"
|
|
)
|
|
|
|
func (e Extractor) ExtractAux(auxfile, xlsxfile string) error {
|
|
if err := createAuxXlxs(xlsxfile); err != nil {
|
|
return err
|
|
}
|
|
|
|
wb, err := xlsx.OpenFile(xlsxfile)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
sh := wb.Sheets[0]
|
|
|
|
data, err := os.ReadFile(auxfile)
|
|
if err != nil {
|
|
log.Println("read aux data from", auxfile, "error:", err.Error())
|
|
return err
|
|
}
|
|
|
|
for i := 0; i < len(data); i += 24 + 128 + 512 {
|
|
row := sh.AddRow()
|
|
|
|
var head AuxFrameHead
|
|
head.Decode(data[i : i+24])
|
|
head.SaveXlsx(row)
|
|
|
|
var box AuxFocalBox
|
|
box.Decode(data[i+24 : i+24+128])
|
|
box.SaveXlsx(row)
|
|
|
|
var plat AuxPlatform
|
|
plat.Decode(data[i+24+128 : i+24+128+512])
|
|
box.SaveXlsx(row)
|
|
}
|
|
|
|
return nil
|
|
}
|