@@ -186,6 +186,13 @@ ZEND_BEGIN_ARG_INFO_EX(xls_set_row_arginfo, 0, 0, 3)
186186 ZEND_ARG_INFO (0 , height )
187187ZEND_END_ARG_INFO ()
188188
189+ ZEND_BEGIN_ARG_INFO_EX (xls_set_curr_line_arginfo , 0 , 0 , 1 )
190+ ZEND_ARG_INFO (0 , row )
191+ ZEND_END_ARG_INFO ()
192+
193+ ZEND_BEGIN_ARG_INFO_EX (xls_get_curr_line_arginfo , 0 , 0 , 0 )
194+ ZEND_END_ARG_INFO ()
195+
189196ZEND_BEGIN_ARG_INFO_EX (xls_set_paper_arginfo , 0 , 0 , 1 )
190197 ZEND_ARG_INFO (0 , paper )
191198ZEND_END_ARG_INFO ()
@@ -531,6 +538,38 @@ PHP_METHOD(vtiful_xls, constMemory)
531538}
532539/* }}} */
533540
541+ /** {{{ \Vtiful\Kernel\Excel::setCurrentLine(int $row)
542+ */
543+ PHP_METHOD (vtiful_xls , setCurrentLine )
544+ {
545+ zend_long row = 0 ;
546+
547+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
548+ Z_PARAM_LONG (row )
549+ ZEND_PARSE_PARAMETERS_END ();
550+
551+ ZVAL_COPY (return_value , getThis ());
552+
553+ xls_object * obj = Z_XLS_P (getThis ());
554+
555+ WORKBOOK_NOT_INITIALIZED (obj );
556+
557+ if (row < SHEET_CURRENT_LINE (obj )) {
558+ zend_throw_exception (vtiful_exception_ce , "The row number is abnormal, the behavior will overwrite the previous data" , 400 );
559+ return ;
560+ }
561+
562+ SHEET_LINE_SET (obj , row );
563+ }
564+
565+ /** {{{ \Vtiful\Kernel\Excel::getCurrentLine()
566+ */
567+ PHP_METHOD (vtiful_xls , getCurrentLine )
568+ {
569+ xls_object * obj = Z_XLS_P (getThis ());
570+
571+ RETURN_LONG (SHEET_CURRENT_LINE (obj ));
572+ }
534573
535574/** {{{ \Vtiful\Kernel\Excel::header(array $header)
536575 */
@@ -1579,32 +1618,34 @@ PHP_METHOD(vtiful_xls, nextCellCallback)
15791618/** {{{ xls_methods
15801619*/
15811620zend_function_entry xls_methods [] = {
1582- PHP_ME (vtiful_xls , __construct , xls_construct_arginfo , ZEND_ACC_PUBLIC )
1583- PHP_ME (vtiful_xls , close , xls_close_arginfo , ZEND_ACC_PUBLIC )
1584- PHP_ME (vtiful_xls , fileName , xls_file_name_arginfo , ZEND_ACC_PUBLIC )
1585- PHP_ME (vtiful_xls , addSheet , xls_file_add_sheet , ZEND_ACC_PUBLIC )
1586- PHP_ME (vtiful_xls , existSheet , xls_file_exist_sheet , ZEND_ACC_PUBLIC )
1587- PHP_ME (vtiful_xls , checkoutSheet , xls_file_checkout_sheet , ZEND_ACC_PUBLIC )
1588- PHP_ME (vtiful_xls , activateSheet , xls_file_activate_sheet , ZEND_ACC_PUBLIC )
1589- PHP_ME (vtiful_xls , constMemory , xls_const_memory_arginfo , ZEND_ACC_PUBLIC )
1590- PHP_ME (vtiful_xls , header , xls_header_arginfo , ZEND_ACC_PUBLIC )
1591- PHP_ME (vtiful_xls , data , xls_data_arginfo , ZEND_ACC_PUBLIC )
1592- PHP_ME (vtiful_xls , output , xls_output_arginfo , ZEND_ACC_PUBLIC )
1593- PHP_ME (vtiful_xls , getHandle , xls_get_handle_arginfo , ZEND_ACC_PUBLIC )
1594- PHP_ME (vtiful_xls , autoFilter , xls_auto_filter_arginfo , ZEND_ACC_PUBLIC )
1595- PHP_ME (vtiful_xls , insertText , xls_insert_text_arginfo , ZEND_ACC_PUBLIC )
1596- PHP_ME (vtiful_xls , insertDate , xls_insert_date_arginfo , ZEND_ACC_PUBLIC )
1597- PHP_ME (vtiful_xls , insertChart , xls_insert_chart_arginfo , ZEND_ACC_PUBLIC )
1598- PHP_ME (vtiful_xls , insertUrl , xls_insert_url_arginfo , ZEND_ACC_PUBLIC )
1599- PHP_ME (vtiful_xls , insertImage , xls_insert_image_arginfo , ZEND_ACC_PUBLIC )
1600- PHP_ME (vtiful_xls , insertFormula , xls_insert_formula_arginfo , ZEND_ACC_PUBLIC )
1601- PHP_ME (vtiful_xls , insertComment , xls_insert_comment_arginfo , ZEND_ACC_PUBLIC )
1602- PHP_ME (vtiful_xls , showComment , xls_show_comment_arginfo , ZEND_ACC_PUBLIC )
1603- PHP_ME (vtiful_xls , mergeCells , xls_merge_cells_arginfo , ZEND_ACC_PUBLIC )
1604- PHP_ME (vtiful_xls , setColumn , xls_set_column_arginfo , ZEND_ACC_PUBLIC )
1605- PHP_ME (vtiful_xls , setRow , xls_set_row_arginfo , ZEND_ACC_PUBLIC )
1606- PHP_ME (vtiful_xls , defaultFormat , xls_set_global_format , ZEND_ACC_PUBLIC )
1607- PHP_ME (vtiful_xls , freezePanes , xls_freeze_panes_arginfo , ZEND_ACC_PUBLIC )
1621+ PHP_ME (vtiful_xls , __construct , xls_construct_arginfo , ZEND_ACC_PUBLIC )
1622+ PHP_ME (vtiful_xls , close , xls_close_arginfo , ZEND_ACC_PUBLIC )
1623+ PHP_ME (vtiful_xls , fileName , xls_file_name_arginfo , ZEND_ACC_PUBLIC )
1624+ PHP_ME (vtiful_xls , addSheet , xls_file_add_sheet , ZEND_ACC_PUBLIC )
1625+ PHP_ME (vtiful_xls , existSheet , xls_file_exist_sheet , ZEND_ACC_PUBLIC )
1626+ PHP_ME (vtiful_xls , checkoutSheet , xls_file_checkout_sheet , ZEND_ACC_PUBLIC )
1627+ PHP_ME (vtiful_xls , activateSheet , xls_file_activate_sheet , ZEND_ACC_PUBLIC )
1628+ PHP_ME (vtiful_xls , constMemory , xls_const_memory_arginfo , ZEND_ACC_PUBLIC )
1629+ PHP_ME (vtiful_xls , header , xls_header_arginfo , ZEND_ACC_PUBLIC )
1630+ PHP_ME (vtiful_xls , data , xls_data_arginfo , ZEND_ACC_PUBLIC )
1631+ PHP_ME (vtiful_xls , output , xls_output_arginfo , ZEND_ACC_PUBLIC )
1632+ PHP_ME (vtiful_xls , getHandle , xls_get_handle_arginfo , ZEND_ACC_PUBLIC )
1633+ PHP_ME (vtiful_xls , autoFilter , xls_auto_filter_arginfo , ZEND_ACC_PUBLIC )
1634+ PHP_ME (vtiful_xls , insertText , xls_insert_text_arginfo , ZEND_ACC_PUBLIC )
1635+ PHP_ME (vtiful_xls , insertDate , xls_insert_date_arginfo , ZEND_ACC_PUBLIC )
1636+ PHP_ME (vtiful_xls , insertChart , xls_insert_chart_arginfo , ZEND_ACC_PUBLIC )
1637+ PHP_ME (vtiful_xls , insertUrl , xls_insert_url_arginfo , ZEND_ACC_PUBLIC )
1638+ PHP_ME (vtiful_xls , insertImage , xls_insert_image_arginfo , ZEND_ACC_PUBLIC )
1639+ PHP_ME (vtiful_xls , insertFormula , xls_insert_formula_arginfo , ZEND_ACC_PUBLIC )
1640+ PHP_ME (vtiful_xls , insertComment , xls_insert_comment_arginfo , ZEND_ACC_PUBLIC )
1641+ PHP_ME (vtiful_xls , showComment , xls_show_comment_arginfo , ZEND_ACC_PUBLIC )
1642+ PHP_ME (vtiful_xls , mergeCells , xls_merge_cells_arginfo , ZEND_ACC_PUBLIC )
1643+ PHP_ME (vtiful_xls , setColumn , xls_set_column_arginfo , ZEND_ACC_PUBLIC )
1644+ PHP_ME (vtiful_xls , setRow , xls_set_row_arginfo , ZEND_ACC_PUBLIC )
1645+ PHP_ME (vtiful_xls , getCurrentLine , xls_get_curr_line_arginfo , ZEND_ACC_PUBLIC )
1646+ PHP_ME (vtiful_xls , setCurrentLine , xls_set_curr_line_arginfo , ZEND_ACC_PUBLIC )
1647+ PHP_ME (vtiful_xls , defaultFormat , xls_set_global_format , ZEND_ACC_PUBLIC )
1648+ PHP_ME (vtiful_xls , freezePanes , xls_freeze_panes_arginfo , ZEND_ACC_PUBLIC )
16081649
16091650 PHP_ME (vtiful_xls , protection , xls_protection_arginfo , ZEND_ACC_PUBLIC )
16101651 PHP_ME (vtiful_xls , validation , xls_validation_arginfo , ZEND_ACC_PUBLIC )
0 commit comments