excel-export/biz/export/excel_exporter.go

35 lines
765 B
Go

package export
type ExcelExporter struct {
mFetcher DataFetcher
file FileAdapter
}
func NewExcelExporter(fetcher DataFetcher, file FileAdapter) DataExporter {
return &ExcelExporter{
mFetcher: fetcher,
file: file,
}
}
func (ee *ExcelExporter) Fetcher(fetcher DataFetcher) {
ee.mFetcher = fetcher
}
func (ee *ExcelExporter) File(file FileAdapter) {
ee.file = file
}
func (ee *ExcelExporter) Export(sql string) error {
rows := ee.mFetcher.Fetch(sql)
//fmt.Printf("Excel Exporter.Excel, got %v rows\n", len(rows))
ee.file.Open()
ee.file.WriteTitle([]string{"字段1", "字段2", "字段3", "字段4", "字段5"})
for _, v := range rows {
// fmt.Printf(" 行号: %d 值: %s\n", i+1, v)
ee.file.Write(v)
}
ee.file.Close()
return nil
}