# Advanced Features ## luckysheet.create(options) - **Parameter**: - {Object} [options]:All configuration information of the table - **Usage**: Initialize a luckysheet, which can contain multiple worksheets, refer to [Configuration List](https://mengshukeji.github.io/LuckysheetDocs/guide/config.html) ------------ ## luckysheet.getcellvalue([r] [,c] [,data] [,type]) - **Parameter**: - {Number} [r]:The row number of the cell; optional value; an integer starting from 0, 0 means the first row - {Number} [c]:The column number of the cell; optional value; an integer starting from 0, 0 means the first column - {Array} [data]:Table data, two-dimensional array; optional value; default value is the current table data - {String} [type]:Cell attribute value; optional value; the default value is'v', which means to get the actual value of the cell - **Usage**: This method is to get the value of the cell. 1. `luckysheet.getcellvalue()`:Return all data in the current worksheet; 2. `luckysheet.getcellvalue(0)`:Return the first row data of the current worksheet; 3. `luckysheet.getcellvalue(null,0)`:Return the data in the first column of the current worksheet; 4. `luckysheet.getcellvalue(0,0)`:Return the v value of the data in the first row and first column of the current worksheet; 5. `luckysheet.getcellvalue(1,1,null,'m')`: Returns the original value of the cell in the second row and second column of the specified data. Special case: the cell format is `yyyy-MM-dd`, when the type is'v', the display value of'm' will be mandatory ------------ ## luckysheet.getluckysheetfile() - **Usage**: Returns a one-dimensional array of all table data structures[luckysheetfile](https://mengshukeji.github.io/LuckysheetDocs/guide/data.html), `luckysheet.getluckysheetfile()[0]` can get all the information of the first worksheet. ------------ ## luckysheet.getconfig() - **Usage**: Quickly return to the current sheet config configuration, the config information of each worksheet is still contained in the luckysheetfile. ------------ ## luckysheet.getluckysheet_select_save() - **Usage**: Returns an array of current selection objects, there may be multiple selections. ------------ ## luckysheet.getdatabyselection([range] [,sheetIndex]) - **Parameter**: - {Object} [range]:Selection object, `object: {row: [r1, r2], column: [c1, c2] }`; optional value; the default is the current first selection. - {Number} [sheetIndex]:Table subscript, an integer starting from 0, 0 means the first table; optional value; the default is the current table subscript. - **Usage**: Returns the data of the first selection in a table. - `luckysheet.getdatabyselection()`: Returns the data of the current selection of the current worksheet - `luckysheet.getdatabyselection(null,1)`: Returns the data of the current selection of the second worksheet ------------ ## luckysheet.luckysheetrefreshgrid(scrollWidth, scrollHeight) - **Parameter**: - {Number} [scrollWidth]:Horizontal scroll value. The default is the current horizontal scroll position. - {Number} [scrollHeight]:Vertical scroll value. The default is the current vertical scroll position. - **Usage**: Refresh the canvas display data according to scrollWidth and scrollHeight. ------------ ## luckysheet.setcellvalue(r, c, d, v) - **Parameter**: - {Number} [r]:The row number of the cell; an integer starting from 0, 0 means the first row. - {Number} [c]:The column number of the cell; an integer starting from 0, 0 means the first column. - {Array} [d]:Table data; optional value; two-dimensional array. - {Object | String | Number} [v]:The value to be set; it can be an object, and the object is to conform to the cell object format. - **Usage**: Set the value of a cell. Can be used with `luckysheet.luckysheetrefreshgrid()` to refresh and view cell value changes. ```js luckysheet.setcellvalue(0, 0, luckysheet.flowdata(), 'abc'); luckysheet.jfrefreshgrid(); ``` ------------ ## luckysheet.jfrefreshgrid() - **Usage**: Refresh canvas ------------ ## luckysheet.setluckysheet_select_save(v) - **Parameter**: - {Array} [v]:The selection value (array) to be set. Comply with selection format rules, such as `[{ row: [r1, r2], column: [c1, c2] }]`. - **Usage**: Set the value of the current table selection area. With `luckysheet.selectHightlightShow()`, you can view the selection changes in the interface. ```js luckysheet.setluckysheet_select_save([{ row: [0, 1], column: [0, 1] }]); luckysheet.selectHightlightShow(); ``` ------------ ## luckysheet.selectHightlightShow() - **Usage**: Highlight the current selection ------------ ## luckysheet.setSheetHide(index) - **Parameter**: - {Number} [index]:Table index; an integer starting from 0, 0 means the first table; the default is the current table index. - **Usage**: Hide a table. ------------ ## luckysheet.setSheetShow(index) - **Parameter**: - {Number} [index]:Table index; an integer starting from 0, 0 means the first table; the default is the current table index. - **Usage**: Display a table. ------------ ## luckysheet.flowdata() - **Usage**: Quickly get the data of the current table ------------ ## luckysheet.buildGridData(file) - **Parameter**: - {Object} [file]:[luckysheetfile](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/data.html#%E8%8E%B7%E5%8F%96%E8%A1%A8%E6%A0%BC%E6%95%B0%E6%8D%AE) - **Usage**: Generate a two-dimensional array that the table can recognize ------------ ## luckysheet.getGridData(data) - **Parameter**: - {Array} [data]:Two-dimensional array data of worksheet - **Usage**: Convert two-dimensional array data into `{r, c, v}` format one-dimensional array ------------ ## luckysheet.destroy() - **Usage**: Delete and release table