lucky_sheet_excel.go 866 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package excel
  2. import "github.com/tealeg/xlsx"
  3. type LuckySheet struct {
  4. SheetList []LuckySheetData `description:"sheet数据"`
  5. }
  6. func (item *LuckySheet) GetExcelData(isRemoveBlankCell bool) (xlsxFile *xlsx.File, err error) {
  7. xlsxFile = xlsx.NewFile()
  8. if err != nil {
  9. return
  10. }
  11. for _, sheet := range item.SheetList {
  12. tableData, tmpErr := sheet.GetTableDataByLuckySheetDataStr(isRemoveBlankCell)
  13. if tmpErr != nil {
  14. err = tmpErr
  15. return
  16. }
  17. err = tableData.WriteExcelSheetData(xlsxFile, sheet.Name)
  18. if err != nil {
  19. return
  20. }
  21. }
  22. return
  23. }
  24. func (item *LuckySheet) ToExcel(isRemoveBlankCell bool) (downloadFilePath string, err error) {
  25. downloadFilePath, err = getDownloadPath()
  26. if err != nil {
  27. return
  28. }
  29. xlsxFile, err := item.GetExcelData(isRemoveBlankCell)
  30. if err != nil {
  31. return
  32. }
  33. err = xlsxFile.Save(downloadFilePath)
  34. return
  35. }