@@ -82,6 +82,10 @@ ZEND_BEGIN_ARG_INFO_EX(xls_file_add_sheet, 0, 0, 1)
8282 ZEND_ARG_INFO (0 , sheet_name )
8383ZEND_END_ARG_INFO ()
8484
85+ ZEND_BEGIN_ARG_INFO_EX (xls_file_exist_sheet , 0 , 0 , 1 )
86+ ZEND_ARG_INFO (0 , sheet_name )
87+ ZEND_END_ARG_INFO ()
88+
8589ZEND_BEGIN_ARG_INFO_EX (xls_file_checkout_sheet , 0 , 0 , 1 )
8690 ZEND_ARG_INFO (0 , sheet_name )
8791ZEND_END_ARG_INFO ()
@@ -385,6 +389,32 @@ PHP_METHOD(vtiful_xls, addSheet)
385389}
386390/* }}} */
387391
392+ /** {{{ \Vtiful\Kernel\Excel::existSheet(string $sheetName)
393+ */
394+ PHP_METHOD (vtiful_xls , existSheet )
395+ {
396+ char * sheet_name = NULL ;
397+ zend_string * zs_sheet_name = NULL ;
398+
399+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
400+ Z_PARAM_STR (zs_sheet_name )
401+ ZEND_PARSE_PARAMETERS_END ();
402+
403+ xls_object * obj = Z_XLS_P (getThis ());
404+
405+ WORKBOOK_NOT_INITIALIZED (obj );
406+ SHEET_LINE_INIT (obj )
407+
408+ sheet_name = ZSTR_VAL (zs_sheet_name );
409+
410+ if (workbook_get_worksheet_by_name (obj -> write_ptr .workbook , sheet_name )) {
411+ RETURN_TRUE ;
412+ }
413+
414+ RETURN_FALSE ;
415+ }
416+ /* }}} */
417+
388418/** {{{ \Vtiful\Kernel\Excel::checkoutSheet(string $sheetName)
389419 */
390420PHP_METHOD (vtiful_xls , checkoutSheet )
@@ -1502,6 +1532,7 @@ zend_function_entry xls_methods[] = {
15021532 PHP_ME (vtiful_xls , close , xls_close_arginfo , ZEND_ACC_PUBLIC )
15031533 PHP_ME (vtiful_xls , fileName , xls_file_name_arginfo , ZEND_ACC_PUBLIC )
15041534 PHP_ME (vtiful_xls , addSheet , xls_file_add_sheet , ZEND_ACC_PUBLIC )
1535+ PHP_ME (vtiful_xls , existSheet , xls_file_exist_sheet , ZEND_ACC_PUBLIC )
15051536 PHP_ME (vtiful_xls , checkoutSheet , xls_file_checkout_sheet , ZEND_ACC_PUBLIC )
15061537 PHP_ME (vtiful_xls , activateSheet , xls_file_activate_sheet , ZEND_ACC_PUBLIC )
15071538 PHP_ME (vtiful_xls , constMemory , xls_const_memory_arginfo , ZEND_ACC_PUBLIC )
0 commit comments