export_string.go 761 B

123456789101112131415161718192021222324252627282930313233343536
  1. package xvdoc
  2. import (
  3. "bytes"
  4. "fmt"
  5. )
  6. func exportString(matrix []Matrix) ([]byte, error) {
  7. if len(matrix) == 0 {
  8. return nil, fmt.Errorf("XVDoc export strings error :: expected not empty martix array")
  9. }
  10. m := matrix[0]
  11. var buf bytes.Buffer
  12. for i, v := range m.Cells {
  13. buf.Write([]byte(fmt.Sprintf("%v: %v\n", i, v)))
  14. }
  15. return buf.Bytes(), nil
  16. }
  17. func exportCSV(matrix []Matrix) ([]byte, error) {
  18. if len(matrix) == 0 {
  19. return nil, fmt.Errorf("XVDoc export CSV error :: expected not empty martix array")
  20. }
  21. m := matrix[0]
  22. var buf bytes.Buffer
  23. for _, v := range m.Cells {
  24. for i, k := range v {
  25. buf.Write([]byte(fmt.Sprint(k.Val())))
  26. if i < len(v)-1 {
  27. buf.WriteByte(';')
  28. }
  29. }
  30. buf.WriteByte('\n')
  31. }
  32. return buf.Bytes(), nil
  33. }