excel.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*
  2. +----------------------------------------------------------------------+
  3. | XlsWriter Extension |
  4. +----------------------------------------------------------------------+
  5. | Copyright (c) 2017-2018 The Viest |
  6. +----------------------------------------------------------------------+
  7. | http://www.viest.me |
  8. +----------------------------------------------------------------------+
  9. | Author: viest <[email protected]> |
  10. +----------------------------------------------------------------------+
  11. */
  12. #ifndef VTIFUL_XLS_H
  13. #define VTIFUL_XLS_H
  14. #include "common.h"
  15. #define V_XLS_HANDLE "handle"
  16. #define V_XLS_FIL "fileName"
  17. #define V_XLS_COF "config"
  18. #define V_XLS_PAT "path"
  19. #define V_XLS_TYPE "read_row_type"
  20. #define V_XLS_CONST_READ_TYPE_INT "TYPE_INT"
  21. #define V_XLS_CONST_READ_TYPE_DOUBLE "TYPE_DOUBLE"
  22. #define V_XLS_CONST_READ_TYPE_STRING "TYPE_STRING"
  23. #define V_XLS_CONST_READ_TYPE_DATETIME "TYPE_TIMESTAMP"
  24. #define V_XLS_CONST_READ_SKIP_NONE "SKIP_NONE"
  25. #define V_XLS_CONST_READ_SKIP_EMPTY_ROW "SKIP_EMPTY_ROW"
  26. #define V_XLS_CONST_READ_SKIP_HIDDEN_ROW "SKIP_HIDDEN_ROW"
  27. #define V_XLS_CONST_READ_SKIP_EMPTY_CELLS "SKIP_EMPTY_CELLS"
  28. #define V_XLS_CONST_READ_SKIP_EMPTY_VALUE "SKIP_EMPTY_VALUE"
  29. #define READ_TYPE_EMPTY 0x00
  30. #define READ_TYPE_STRING 0x01
  31. #define READ_TYPE_INT 0x02
  32. #define READ_TYPE_DOUBLE 0x04
  33. #define READ_TYPE_DATETIME 0x08
  34. #define GET_CONFIG_PATH(dir_path_res, class_name, object) \
  35. do { \
  36. zval rv; \
  37. zval *_config = zend_read_property(class_name, object, ZEND_STRL(V_XLS_COF), 0, &rv); \
  38. (dir_path_res) = zend_hash_str_find(Z_ARRVAL_P(_config), ZEND_STRL(V_XLS_PAT)); \
  39. } while(0)
  40. extern zend_class_entry *vtiful_xls_ce;
  41. VTIFUL_STARTUP_FUNCTION(excel);
  42. #endif