package change import ( "context" "git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/library/batchimport" ) type ExcelProcessor struct { *Processor options *ExcelSubmitOptions } func NewExcelProcessor() *ExcelProcessor { return &ExcelProcessor{Processor: NewProcessor()} } func (p *ExcelProcessor) Config() batchimport.ProcessorConfig { cfg := p.Processor.Config() cfg.TemplateHeaders = ExcelTemplateHeaders() cfg.RequiredHeaders = ExcelTemplateHeaders() return cfg } func (p *ExcelProcessor) ParseRows(ctx context.Context, filePath string) ([]batchimport.Row, error) { rows, options, err := ParseExcelFileRows(ctx, filePath) if err != nil { return nil, err } p.options = options out := make([]batchimport.Row, 0, len(rows)) for _, row := range rows { out = append(out, row) } return out, nil } func (p *ExcelProcessor) ExcelSubmitOptions() *ExcelSubmitOptions { return p.options }