xml.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package excel
  2. import (
  3. "errors"
  4. "github.com/beevik/etree"
  5. )
  6. func GetDefaultSheetIndex(workbookPath string, defaultSheetName string) (defaultSheetIndex int, err error) {
  7. doc := etree.NewDocument()
  8. if err = doc.ReadFromFile(workbookPath); err != nil {
  9. return
  10. }
  11. flag := false
  12. workbook := doc.SelectElement("workbook")
  13. sheets := workbook.SelectElement("sheets")
  14. for index, sheet := range sheets.SelectElements("sheet") {
  15. for _, attr := range sheet.Attr {
  16. if attr.Key == "name" && attr.Value == defaultSheetName {
  17. defaultSheetIndex = index
  18. flag = true
  19. }
  20. }
  21. }
  22. if flag == false {
  23. err = errors.New(defaultSheetName + "工作表未找到")
  24. }
  25. return
  26. }
  27. func GetDefaultSheetData(sheetPath string, defaultSheetName string) (defaultSheetIndex int, err error) {
  28. doc := etree.NewDocument()
  29. if err = doc.ReadFromFile(sheetPath); err != nil {
  30. return
  31. }
  32. flag := false
  33. workbook := doc.SelectElement("worksheet")
  34. sheets := workbook.SelectElement("sheets")
  35. for index, sheet := range sheets.SelectElements("sheet") {
  36. for _, attr := range sheet.Attr {
  37. if attr.Key == "name" && attr.Value == defaultSheetName {
  38. defaultSheetIndex = index
  39. flag = true
  40. }
  41. }
  42. }
  43. if flag == false {
  44. err = errors.New(defaultSheetName + "工作表未找到")
  45. }
  46. return
  47. }