Insert table rows or ranges before or after defined row:
Delete table rows or ranges:
Insert table columns or ranges before or after defined column:
Delete table columns or ranges:
Convert table to ranges through the existing API with options to keepData and keepStyle.
<template>
<div class="sample-tutorial">
<gc-spread-sheets class="sample-spreadsheets" @workbookInitialized="initSpread">
</gc-spread-sheets>
<div class="options-container">
<p>Try inserting and remove rows and columns with the following fields and buttons. Simply enter a specific row or
column index, and then the number of rows or columns to add.</p>
<div class="option-group">
<label for="insertRowIndex">Row:</label>
<input type="text" id="insertRowIndex" v-model.number="insertRowValue" />
<label for="insertRowCount">Count:</label>
<input type="text" id="insertRowCount" v-model.number="insertRowCountValue" />
<input class="options-input" type="checkbox" id="insertAfterRow" v-bind:checked="isInsertAfterRow"
v-on:change="onInsertAfterRow" />
<label for="insertAfterRow">Insert after Current RowIndex</label>
<input type="button" id="insertRows" value="Insert Rows" v-on:click="onInsertRowsClickEvent" />
</div>
<div class="option-group">
<label for="deleteRowIndex">Row:</label>
<input type="text" id="deleteRowIndex" v-model.number="deleteRowValue" />
<label for="deleteRowCount">Count:</label>
<input type="text" id="deleteRowCount" v-model.number="deleteRowCountValue" />
<input type="button" id="deleteRows" value="Delete Rows" v-on:click="onDeleteRowsClickEvent" />
</div>
<div class="option-group">
<label for="insertColIndex">Column:</label>
<input type="text" id="insertColIndex" v-model.number="insertColValue" />
<label for="insertColCount">Count:</label>
<input type="text" id="insertColCount" v-model.number="insertColCountValue" />
<input class="options-input" type="checkbox" id="insertAfterCol" v-bind:checked="isInsertAfterCol"
v-on:change="onInsertAfterCol" />
<label for="insertAfterCol">Insert after Current ColIndex</label>
<input type="button" id="insertColumns" value="Insert Columns" v-on:click="onInsertColumnsClickEvent" />
</div>
<div class="option-group">
<label for="deleteColIndex">Column:</label>
<input type="text" id="deleteColIndex" v-model.number="deleteColValue" />
<label for="deleteColCount">Count:</label>
<input type="text" id="deleteColCount" v-model.number="deleteColCountValue" />
<input type="button" id="deleteColumns" value="Delete Columns" v-on:click="onDeleteColumnsClickEvent" />
</div>
<p>Click on this button to convert the table to a range of cells with the same styles applied.</p>
<div class="option-group">
<input type="button" id="tableToRange" value="Table to Range" v-on:click="onTableToRangeClickEvent" />
</div>
</div>
</div>
</template>
<script setup>
import '@mescius/spread-sheets-vue';
import { ref } from "vue";
import GC from "@mescius/spread-sheets";
const spreadRef = ref(null);
const insertRowValue = ref(null);
const insertRowCountValue = ref(null);
const isInsertAfterRow = ref(null);
const deleteRowValue = ref(null);
const deleteRowCountValue = ref(null);
const insertColValue = ref(null);
const insertColCountValue = ref(null);
const isInsertAfterCol = ref(false);
const deleteColValue = ref(null);
const deleteColCountValue = ref(null);
const GCsheets = GC.Spread.Sheets;
const initSpread = (spread) => {
spreadRef.value = spread;
spread.fromJSON({ "version": "14.0.7", "tabStripRatio": 0.6, "customList": [], "sheets": { "Sheet1": { "name": "Sheet1", "isSelected": true, "rowCount": 100, "columnCount": 100, "activeRow": 2, "activeCol": 1, "theme": { "name": "Office", "themeColor": { "name": "Office", "background1": { "a": 255, "r": 255, "g": 255, "b": 255 }, "background2": { "a": 255, "r": 231, "g": 230, "b": 230 }, "text1": { "a": 255, "r": 0, "g": 0, "b": 0 }, "text2": { "a": 255, "r": 68, "g": 84, "b": 106 }, "accent1": { "a": 255, "r": 68, "g": 114, "b": 196 }, "accent2": { "a": 255, "r": 237, "g": 125, "b": 49 }, "accent3": { "a": 255, "r": 165, "g": 165, "b": 165 }, "accent4": { "a": 255, "r": 255, "g": 192, "b": 0 }, "accent5": { "a": 255, "r": 91, "g": 155, "b": 213 }, "accent6": { "a": 255, "r": 112, "g": 173, "b": 71 }, "hyperlink": { "a": 255, "r": 5, "g": 99, "b": 193 }, "followedHyperlink": { "a": 255, "r": 149, "g": 79, "b": 114 } }, "headingFont": "Calibri Light", "bodyFont": "Calibri" }, "data": { "dataTable": { "1": { "1": { "value": "Order", "style": "__builtInTableStyle0__builtInStyle2" }, "2": { "value": "Item", "style": "__builtInTableStyle0__builtInStyle2" }, "3": { "value": "Units", "style": "__builtInTableStyle0__builtInStyle2" }, "4": { "value": "Cost", "style": "__builtInTableStyle0__builtInStyle2" } }, "2": { "1": { "value": "/OADate(41280)/", "style": "__builtInTableStyle1__builtInStyle3" }, "2": { "value": "pencil", "style": "__builtInTableStyle0__builtInStyle2" }, "3": { "value": 95, "style": "__builtInTableStyle2__builtInStyle4" }, "4": { "value": "1,99 $", "style": "__builtInTableStyle0__builtInStyle2" } }, "3": { "1": { "value": "/OADate(41337)/", "style": "__builtInTableStyle1__builtInStyle3" }, "2": { "value": "binder", "style": "__builtInTableStyle0__builtInStyle2" }, "3": { "value": 45, "style": "__builtInTableStyle2__builtInStyle4" }, "4": { "value": "4,99 $", "style": "__builtInTableStyle0__builtInStyle2" } }, "4": { "1": { "value": "/OADate(41342)/", "style": "__builtInTableStyle1__builtInStyle3" }, "2": { "value": "pent set", "style": "__builtInTableStyle0__builtInStyle2" }, "3": { "value": 60, "style": "__builtInTableStyle2__builtInStyle4" }, "4": { "value": "15,99 $", "style": "__builtInTableStyle0__builtInStyle2" } }, "5": { "1": { "value": "/OADate(41337)/", "style": "__builtInTableStyle1__builtInStyle3" }, "2": { "value": "pencil", "style": "__builtInTableStyle0__builtInStyle2" }, "3": { "value": 16, "style": "__builtInTableStyle2__builtInStyle4" }, "4": { "value": "1,99 $", "style": "__builtInTableStyle0__builtInStyle2" } }, "6": { "1": { "value": "/OADate(41342)/", "style": "__builtInTableStyle1__builtInStyle3" }, "2": { "value": "binder", "style": "__builtInTableStyle0__builtInStyle2" }, "3": { "value": 95, "style": "__builtInTableStyle2__builtInStyle4" }, "4": { "value": "4,99 $", "style": "__builtInTableStyle0__builtInStyle2" } }, "7": { "1": { "value": "/OADate(41890)/", "style": "__builtInTableStyle1__builtInStyle3" }, "2": { "value": "pent set", "style": "__builtInTableStyle0__builtInStyle2" }, "3": { "value": 60, "style": "__builtInTableStyle2__builtInStyle4" }, "4": { "value": "15,99 $", "style": "__builtInTableStyle0__builtInStyle2" } }, "8": { "1": { "value": "/OADate(41672)/", "style": "__builtInTableStyle1__builtInStyle3" }, "2": { "value": "pencil", "style": "__builtInTableStyle0__builtInStyle2" }, "3": { "value": 12, "style": "__builtInTableStyle2__builtInStyle4" }, "4": { "value": "1,99 $", "style": "__builtInTableStyle0__builtInStyle2" } }, "9": { "1": { "value": "/OADate(41280)/", "style": "__builtInTableStyle1__builtInStyle3" }, "2": { "value": "binder", "style": "__builtInTableStyle0__builtInStyle2" }, "3": { "value": 65, "style": "__builtInTableStyle2__builtInStyle4" }, "4": { "value": "4,99 $", "style": "__builtInTableStyle0__builtInStyle2" } }, "10": { "1": { "value": "/OADate(41337)/", "style": "__builtInTableStyle1__builtInStyle3" }, "2": { "value": "pent set", "style": "__builtInTableStyle0__builtInStyle2" }, "3": { "value": 45, "style": "__builtInTableStyle2__builtInStyle4" }, "4": { "value": "15,99 $", "style": "__builtInTableStyle0__builtInStyle2" } }, "11": { "1": { "value": "/OADate(41342)/", "style": "__builtInTableStyle1__builtInStyle3" }, "2": { "value": "pencil", "style": "__builtInTableStyle0__builtInStyle2" }, "3": { "value": 14, "style": "__builtInTableStyle2__builtInStyle4" }, "4": { "value": "1,99 $", "style": "__builtInTableStyle0__builtInStyle2" } }, "12": { "1": { "value": "/OADate(41890)/", "style": "__builtInTableStyle1__builtInStyle3" }, "2": { "value": "binder", "style": "__builtInTableStyle0__builtInStyle2" }, "3": { "value": 9, "style": "__builtInTableStyle2__builtInStyle4" }, "4": { "value": "4,99 $", "style": "__builtInTableStyle0__builtInStyle2" } }, "13": { "1": { "value": "/OADate(41672)/", "style": "__builtInTableStyle1__builtInStyle3" }, "2": { "value": "pent set", "style": "__builtInTableStyle0__builtInStyle2" }, "3": { "value": 33, "style": "__builtInTableStyle2__builtInStyle4" }, "4": { "value": "15,99 $", "style": "__builtInTableStyle0__builtInStyle2" } } }, "defaultDataNode": { "style": { "backColor": null, "foreColor": "Text 1 0", "vAlign": 2, "font": "normal normal 14.7px Calibri", "themeFont": "Body", "borderLeft": null, "borderTop": null, "borderRight": null, "borderBottom": null, "locked": true, "textIndent": 0, "wordWrap": false, "diagonalDown": null, "diagonalUp": null } } }, "rowHeaderData": { "defaultDataNode": { "style": { "themeFont": "Body" } } }, "colHeaderData": { "defaultDataNode": { "style": { "themeFont": "Body" } } }, "rows": [null, { "size": 19 }, { "size": 19 }, { "size": 19 }, { "size": 19 }, { "size": 19 }, { "size": 19 }, { "size": 19 }, { "size": 19 }, { "size": 19 }, { "size": 19 }, { "size": 19 }, { "size": 19 }, { "size": 19 }], "columns": [null, { "size": 105 }, { "size": 119 }, { "size": 113 }, { "size": 114 }], "leftCellIndex": 0, "topCellIndex": 0, "selections": { "0": { "row": 2, "rowCount": 1, "col": 1, "colCount": 1 }, "length": 1 }, "defaults": { "colHeaderRowHeight": 20, "colWidth": 64, "rowHeaderColWidth": 40, "rowHeight": 19.2, "_isExcelDefaultColumnWidth": true }, "rowOutlines": { "items": [] }, "columnOutlines": { "items": [] }, "cellStates": {}, "outlineColumnOptions": {}, "autoMergeRangeInfos": [], "tables": [{ "name": "Table1", "row": 1, "col": 1, "rowCount": 13, "colCount": 4, "style": { "buildInName": "Medium18" }, "rowFilter": { "range": { "row": 2, "rowCount": 12, "col": 1, "colCount": 4 }, "typeName": "HideRowFilter", "dialogVisibleInfo": {}, "filterButtonVisibleInfo": { "0": true, "1": true, "2": true, "3": true }, "showFilterButton": true }, "columns": [{ "id": 1, "name": "Order" }, { "id": 2, "name": "Item" }, { "id": 3, "name": "Units" }, { "id": 4, "name": "Cost" }] }], "index": 0 } }, "namedStyles": [{ "backColor": "Accent 1 80", "foreColor": "Text 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "20% - Accent1" }, { "backColor": "Accent 2 80", "foreColor": "Text 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "20% - Accent2" }, { "backColor": "Accent 3 80", "foreColor": "Text 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "20% - Accent3" }, { "backColor": "Accent 4 80", "foreColor": "Text 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "20% - Accent4" }, { "backColor": "Accent 5 80", "foreColor": "Text 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "20% - Accent5" }, { "backColor": "Accent 6 80", "foreColor": "Text 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "20% - Accent6" }, { "backColor": "Accent 1 60", "foreColor": "Text 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "40% - Accent1" }, { "backColor": "Accent 2 60", "foreColor": "Text 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "40% - Accent2" }, { "backColor": "Accent 3 60", "foreColor": "Text 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "40% - Accent3" }, { "backColor": "Accent 4 60", "foreColor": "Text 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "40% - Accent4" }, { "backColor": "Accent 5 60", "foreColor": "Text 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "40% - Accent5" }, { "backColor": "Accent 6 60", "foreColor": "Text 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "40% - Accent6" }, { "backColor": "Accent 1 40", "foreColor": "Background 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "60% - Accent1" }, { "backColor": "Accent 2 40", "foreColor": "Background 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "60% - Accent2" }, { "backColor": "Accent 3 40", "foreColor": "Background 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "60% - Accent3" }, { "backColor": "Accent 4 40", "foreColor": "Background 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "60% - Accent4" }, { "backColor": "Accent 5 40", "foreColor": "Background 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "60% - Accent5" }, { "backColor": "Accent 6 40", "foreColor": "Background 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "60% - Accent6" }, { "backColor": "Accent 1 0", "foreColor": "Background 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "Accent1" }, { "backColor": "Accent 2 0", "foreColor": "Background 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "Accent2" }, { "backColor": "Accent 3 0", "foreColor": "Background 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "Accent3" }, { "backColor": "Accent 4 0", "foreColor": "Background 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "Accent4" }, { "backColor": "Accent 5 0", "foreColor": "Background 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "Accent5" }, { "backColor": "Accent 6 0", "foreColor": "Background 1 0", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "Accent6" }, { "backColor": "#ffc7ce", "foreColor": "#9c0006", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "Bad" }, { "backColor": "#f2f2f2", "foreColor": "#fa7d00", "font": "normal bold 14.7px Calibri", "themeFont": "Body", "borderLeft": { "color": "#7f7f7f", "style": 1 }, "borderTop": { "color": "#7f7f7f", "style": 1 }, "borderRight": { "color": "#7f7f7f", "style": 1 }, "borderBottom": { "color": "#7f7f7f", "style": 1 }, "name": "Calculation", "diagonalDown": null, "diagonalUp": null }, { "backColor": "#a5a5a5", "foreColor": "Background 1 0", "font": "normal bold 14.7px Calibri", "themeFont": "Body", "borderLeft": { "color": "#3f3f3f", "style": 6 }, "borderTop": { "color": "#3f3f3f", "style": 6 }, "borderRight": { "color": "#3f3f3f", "style": 6 }, "borderBottom": { "color": "#3f3f3f", "style": 6 }, "name": "Check Cell", "diagonalDown": null, "diagonalUp": null }, { "backColor": null, "formatter": "_(* #,##0.00_);_(* (#,##0.00);_(* \"-\"??_);_(@_)", "name": "Comma" }, { "backColor": null, "formatter": "_(* #,##0_);_(* (#,##0);_(* \"-\"_);_(@_)", "name": "Comma [0]" }, { "backColor": null, "formatter": "_(\"$\"* #,##0.00_);_(\"$\"* (#,##0.00);_(\"$\"* \"-\"??_);_(@_)", "name": "Currency" }, { "backColor": null, "formatter": "_(\"$\"* #,##0_);_(\"$\"* (#,##0);_(\"$\"* \"-\"_);_(@_)", "name": "Currency [0]" }, { "backColor": null, "foreColor": "#7f7f7f", "font": "italic normal 14.7px Calibri", "themeFont": "Body", "name": "Explanatory Text" }, { "backColor": "#c6efce", "foreColor": "#006100", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "Good" }, { "backColor": null, "foreColor": "Text 2 0", "font": "normal bold 20px Calibri", "themeFont": "Body", "borderLeft": null, "borderTop": null, "borderRight": null, "borderBottom": { "color": "Accent 1 0", "style": 5 }, "name": "Heading 1", "diagonalDown": null, "diagonalUp": null }, { "backColor": null, "foreColor": "Text 2 0", "font": "normal bold 17.3px Calibri", "themeFont": "Body", "borderLeft": null, "borderTop": null, "borderRight": null, "borderBottom": { "color": "Accent 1 50", "style": 5 }, "name": "Heading 2", "diagonalDown": null, "diagonalUp": null }, { "backColor": null, "foreColor": "Text 2 0", "font": "normal bold 14.7px Calibri", "themeFont": "Body", "borderLeft": null, "borderTop": null, "borderRight": null, "borderBottom": { "color": "Accent 1 40", "style": 2 }, "name": "Heading 3", "diagonalDown": null, "diagonalUp": null }, { "backColor": null, "foreColor": "Text 2 0", "font": "normal bold 14.7px Calibri", "themeFont": "Body", "name": "Heading 4" }, { "backColor": "#ffcc99", "foreColor": "#3f3f76", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "borderLeft": { "color": "#7f7f7f", "style": 1 }, "borderTop": { "color": "#7f7f7f", "style": 1 }, "borderRight": { "color": "#7f7f7f", "style": 1 }, "borderBottom": { "color": "#7f7f7f", "style": 1 }, "name": "Input", "diagonalDown": null, "diagonalUp": null }, { "backColor": null, "foreColor": "#fa7d00", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "borderLeft": null, "borderTop": null, "borderRight": null, "borderBottom": { "color": "#ff8001", "style": 6 }, "name": "Linked Cell", "diagonalDown": null, "diagonalUp": null }, { "backColor": "#ffeb9c", "foreColor": "#9c6500", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "Neutral" }, { "backColor": null, "foreColor": "Text 1 0", "hAlign": 3, "vAlign": 2, "font": "normal normal 14.7px Calibri", "themeFont": "Body", "borderLeft": null, "borderTop": null, "borderRight": null, "borderBottom": null, "locked": true, "textIndent": 0, "wordWrap": false, "name": "Normal", "diagonalDown": null, "diagonalUp": null }, { "backColor": "#ffffcc", "borderLeft": { "color": "#b2b2b2", "style": 1 }, "borderTop": { "color": "#b2b2b2", "style": 1 }, "borderRight": { "color": "#b2b2b2", "style": 1 }, "borderBottom": { "color": "#b2b2b2", "style": 1 }, "name": "Note", "diagonalDown": null, "diagonalUp": null }, { "backColor": "#f2f2f2", "foreColor": "#3f3f3f", "font": "normal bold 14.7px Calibri", "themeFont": "Body", "borderLeft": { "color": "#3f3f3f", "style": 1 }, "borderTop": { "color": "#3f3f3f", "style": 1 }, "borderRight": { "color": "#3f3f3f", "style": 1 }, "borderBottom": { "color": "#3f3f3f", "style": 1 }, "name": "Output", "diagonalDown": null, "diagonalUp": null }, { "backColor": null, "formatter": "0%", "name": "Percent" }, { "backColor": null, "foreColor": "Text 2 0", "font": "normal bold 24px Calibri Light", "themeFont": "Headings", "name": "Title" }, { "backColor": null, "foreColor": "Text 1 0", "font": "normal bold 14.7px Calibri", "themeFont": "Body", "borderLeft": null, "borderTop": { "color": "Accent 1 0", "style": 1 }, "borderRight": null, "borderBottom": { "color": "Accent 1 0", "style": 6 }, "name": "Total", "diagonalDown": null, "diagonalUp": null }, { "backColor": null, "foreColor": "#ff0000", "font": "normal normal 14.7px Calibri", "themeFont": "Body", "name": "Warning Text" }, { "backColor": null, "foreColor": "Text 1 0", "hAlign": 3, "vAlign": 2, "font": "normal normal 14.7px Calibri", "themeFont": "Body", "formatter": "General", "borderLeft": null, "borderTop": null, "borderRight": null, "borderBottom": null, "locked": true, "textIndent": 0, "wordWrap": false, "name": "__builtInStyle1", "diagonalDown": null, "diagonalUp": null }, { "backColor": null, "foreColor": "Text 1 0", "hAlign": 3, "vAlign": 2, "font": "normal normal 13.3px Calibri", "themeFont": "Body", "formatter": "General", "borderLeft": null, "borderTop": null, "borderRight": null, "borderBottom": null, "locked": true, "textIndent": 0, "wordWrap": false, "name": "__builtInStyle2", "diagonalDown": null, "diagonalUp": null }, { "backColor": null, "foreColor": "Text 1 0", "hAlign": 0, "vAlign": 2, "font": "normal normal 13.3px Calibri", "themeFont": "Body", "formatter": "yyyy\\-mm\\-dd;@", "borderLeft": null, "borderTop": null, "borderRight": null, "borderBottom": null, "locked": true, "textIndent": 0, "wordWrap": false, "name": "__builtInStyle3", "diagonalDown": null, "diagonalUp": null }, { "backColor": null, "foreColor": "Text 1 0", "hAlign": 0, "vAlign": 2, "font": "normal normal 13.3px Calibri", "themeFont": "Body", "formatter": "General", "borderLeft": null, "borderTop": null, "borderRight": null, "borderBottom": null, "locked": true, "textIndent": 0, "wordWrap": false, "name": "__builtInStyle4", "diagonalDown": null, "diagonalUp": null }, { "hAlign": 3, "vAlign": 2, "font": "normal normal 13.3px Calibri", "themeFont": "Body", "formatter": "General", "locked": true, "textIndent": 0, "wordWrap": false, "name": "__builtInTableStyle0__builtInStyle2", "diagonalDown": null, "diagonalUp": null }, { "hAlign": 0, "vAlign": 2, "font": "normal normal 13.3px Calibri", "themeFont": "Body", "formatter": "yyyy\\-mm\\-dd;@", "locked": true, "textIndent": 0, "wordWrap": false, "name": "__builtInTableStyle1__builtInStyle3", "diagonalDown": null, "diagonalUp": null }, { "hAlign": 0, "vAlign": 2, "font": "normal normal 13.3px Calibri", "themeFont": "Body", "formatter": "General", "locked": true, "textIndent": 0, "wordWrap": false, "name": "__builtInTableStyle2__builtInStyle4", "diagonalDown": null, "diagonalUp": null }] }
);
}
const onInsertAfterRow = (e) => {
isInsertAfterRow.value = e.target.checked;
}
const onInsertRowsClickEvent = (e) => {
let sheet = spreadRef.value.getActiveSheet();
let table = sheet.tables.findByName('Table1');
if (table) {
try {
var row = parseInt(insertRowValue.value);
var count = parseInt(insertRowCountValue.value);
var isAfter = isInsertAfterRow.value;
if (!isNaN(row) && !isNaN(count) && row > -1 && count > -1) {
table.insertRows(row - table.dataRange().row, count, isAfter);
} else {
alert("Row, Count must be a positive number");
}
} catch (ex) {
alert(!!ex.message ? ex.message : ex);
}
}
}
const onDeleteRowsClickEvent = (e) => {
let sheet = spreadRef.value.getActiveSheet();
let table = sheet.tables.findByName('Table1');
if (table) {
try {
var row = parseInt(deleteRowValue.value);
var count = parseInt(deleteRowCountValue.value);
if (!isNaN(row) && !isNaN(count) && row > -1 && count > -1) {
table.deleteRows(row - table.dataRange().row, count);
} else {
alert("Row, Count must be a positive number");
}
} catch (ex) {
alert(!!ex.message ? ex.message : ex);
}
}
}
const onInsertAfterCol = (e) => {
isInsertAfterCol.value = e.target.checked;
}
const onInsertColumnsClickEvent = (e) => {
let sheet = spreadRef.value.getActiveSheet();
let table = sheet.tables.findByName('Table1');
if (table) {
try {
var col = parseInt(insertColValue.value);
var count = parseInt(insertColCountValue.value);
var isAfter = isInsertAfterCol.value;
if (!isNaN(col) && !isNaN(count) && col > -1 && count > -1) {
table.insertColumns(col - table.dataRange().col, count, isAfter);
} else {
alert("Col, Count must be a positive number");
}
} catch (ex) {
alert(!!ex.message ? ex.message : ex);
}
}
}
const onDeleteColumnsClickEvent = (e) => {
let sheet = spreadRef.value.getActiveSheet();
let table = sheet.tables.findByName('Table1');
if (table) {
try {
var col = parseInt(deleteColValue.value);
var count = parseInt(deleteColCountValue.value);
if (!isNaN(col) && !isNaN(count) && col > -1 && count > -1) {
table.deleteColumns(col - table.dataRange().col, count);
} else {
alert("Col, Count must be a positive number");
}
} catch (ex) {
alert(!!ex.message ? ex.message : ex);
}
}
}
const onTableToRangeClickEvent = (e) => {
let sheet = spreadRef.value.getActiveSheet();
let table = sheet.tables.findByName('Table1');
try {
if (table) {
sheet.tables.remove(table, GC.Spread.Sheets.Tables.TableRemoveOptions.keepData | GC.Spread.Sheets.Tables.TableRemoveOptions.keepStyle);
}
} catch (ex) {
alert(!!ex.message ? ex.message : ex);
}
}
</script>
<style scoped>
#app {
height: 100%;
}
.sample {
position: relative;
height: 100%;
overflow: auto;
}
.sample::after {
display: block;
content: "";
clear: both;
}
.sample-tutorial {
position: relative;
height: 100%;
overflow: hidden;
}
.sample-spreadsheets {
width: calc(100% - 280px);
height: 100%;
overflow: hidden;
float: left;
}
.options-container {
float: right;
width: 280px;
padding: 12px;
height: 100%;
box-sizing: border-box;
background: #fbfbfb;
overflow: auto;
}
.option-row {
font-size: 14px;
padding: 5px;
margin-top: 10px;
}
.option-group {
margin-bottom: 6px;
}
label {
display: block;
margin-bottom: 6px;
}
input {
padding: 2px 4px;
width: 100%;
box-sizing: border-box;
margin-bottom: 5px;
}
input[type=button] {
margin-bottom: 6px;
}
hr {
border-color: #fff;
opacity: .2;
margin: 5px 0;
}
body {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
.options-input {
width: 20px;
float: left;
}
</style>
<!DOCTYPE html>
<html style="height:100%;font-size:14px;">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>SpreadJS VUE</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" type="text/css"
href="$DEMOROOT$/en/vue3/node_modules/@mescius/spread-sheets/styles/gc.spread.sheets.excel2013white.css">
<script src="$DEMOROOT$/en/vue3/node_modules/systemjs/dist/system.src.js"></script>
<script src="./systemjs.config.js"></script>
<script src="./compiler.js" type="module"></script>
<script>
var System = SystemJS;
System.import("./src/app.js");
System.import('$DEMOROOT$/en/lib/vue3/license.js');
</script>
</head>
<body>
<div id="app"></div>
</body>
</html>
(function (global) {
SystemJS.config({
transpiler: 'plugin-babel',
babelOptions: {
es2015: true
},
paths: {
// paths serve as alias
'npm:': 'node_modules/'
},
packageConfigPaths: [
'./node_modules/*/package.json',
"./node_modules/@mescius/*/package.json",
"./node_modules/@babel/*/package.json",
"./node_modules/@vue/*/package.json"
],
map: {
'vue': "npm:vue/dist/vue.esm-browser.js",
'tiny-emitter': 'npm:tiny-emitter/index.js',
'plugin-babel': 'npm:systemjs-plugin-babel/plugin-babel.js',
"systemjs-babel-build": "npm:systemjs-plugin-babel/systemjs-babel-browser.js",
'@mescius/spread-sheets': 'npm:@mescius/spread-sheets/index.js',
'@mescius/spread-sheets-vue': 'npm:@mescius/spread-sheets-vue/index.js'
},
meta: {
'*.css': { loader: 'systemjs-plugin-css' },
'*.vue': { loader: "../plugin-vue/index.js" }
}
});
})(this);