|
@@ -163,6 +163,10 @@ ZEND_BEGIN_ARG_INFO_EX(xls_open_sheet_arginfo, 0, 0, 1)
|
|
|
ZEND_ARG_INFO(0, zs_sheet_name)
|
|
|
ZEND_END_ARG_INFO()
|
|
|
|
|
|
+ZEND_BEGIN_ARG_INFO_EX(xls_put_csv_arginfo, 0, 0, 1)
|
|
|
+ ZEND_ARG_INFO(0, fp)
|
|
|
+ZEND_END_ARG_INFO()
|
|
|
+
|
|
|
ZEND_BEGIN_ARG_INFO_EX(xls_set_type_arginfo, 0, 0, 1)
|
|
|
ZEND_ARG_INFO(0, zv_type_t)
|
|
|
ZEND_END_ARG_INFO()
|
|
@@ -924,6 +928,32 @@ PHP_METHOD(vtiful_xls, setType)
|
|
|
}
|
|
|
/* }}} */
|
|
|
|
|
|
+/** {{{ \Vtiful\Kernel\Excel::putCSV()
|
|
|
+ */
|
|
|
+PHP_METHOD(vtiful_xls, putCSV)
|
|
|
+{
|
|
|
+ zval *fp = NULL, *zv_type = NULL;;
|
|
|
+
|
|
|
+ ZEND_PARSE_PARAMETERS_START(1, 1)
|
|
|
+ Z_PARAM_RESOURCE(fp)
|
|
|
+ ZEND_PARSE_PARAMETERS_END();
|
|
|
+
|
|
|
+ xls_object *obj = Z_XLS_P(getThis());
|
|
|
+
|
|
|
+ if (!obj->read_ptr.sheet_t) {
|
|
|
+ RETURN_FALSE;
|
|
|
+ }
|
|
|
+
|
|
|
+ zv_type = zend_read_property(vtiful_xls_ce, getThis(), ZEND_STRL(V_XLS_TYPE), 0, NULL);
|
|
|
+
|
|
|
+ if (xlsx_to_csv(fp, obj->read_ptr.sheet_t, zv_type, READ_SKIP_ROW) == XLSWRITER_TRUE) {
|
|
|
+ RETURN_TRUE;
|
|
|
+ }
|
|
|
+
|
|
|
+ RETURN_FALSE;
|
|
|
+}
|
|
|
+/* }}} */
|
|
|
+
|
|
|
/** {{{ \Vtiful\Kernel\Excel::getSheetData()
|
|
|
*/
|
|
|
PHP_METHOD(vtiful_xls, getSheetData)
|
|
@@ -1037,6 +1067,7 @@ zend_function_entry xls_methods[] = {
|
|
|
#ifdef ENABLE_READER
|
|
|
PHP_ME(vtiful_xls, openFile, xls_open_file_arginfo, ZEND_ACC_PUBLIC)
|
|
|
PHP_ME(vtiful_xls, openSheet, xls_open_sheet_arginfo, ZEND_ACC_PUBLIC)
|
|
|
+ PHP_ME(vtiful_xls, putCSV, xls_put_csv_arginfo, ZEND_ACC_PUBLIC)
|
|
|
PHP_ME(vtiful_xls, sheetList, NULL, ZEND_ACC_PUBLIC)
|
|
|
PHP_ME(vtiful_xls, setType, xls_set_type_arginfo, ZEND_ACC_PUBLIC)
|
|
|
PHP_ME(vtiful_xls, getSheetData, NULL, ZEND_ACC_PUBLIC)
|