Demo - FlexGrid

HTML

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdn.grapecity.com/wijmo/5.latest/styles/wijmo.min.css">
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.input.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.filter.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.sheet.min.js"></script>
<div id="sheet">
</div><br>
<button id="eval" class="btn btn-primary" style="margin: 20px 0">Evaluate</button>
<br>
<p id="value">
</p>

CSS

body {
    margin: 40px;
}

.wj-flexsheet {
    width: 700px;
    height: 400px;
}

JavaScript

onload = function() {
    var formatSheet = new wijmo.grid.sheet.FlexSheet('#sheet');
    var sheet = new wijmo.grid.sheet.Sheet(formatSheet, null, 'Number', 20, 8);
    formatSheet.sheets.push(sheet);

    formatSheet.deferUpdate(() => {
        var sheetIdx,
            sheetName,
            colIdx,
            rowIdx,
            date;

        for (sheetIdx = 0; sheetIdx < formatSheet.sheets.length; sheetIdx++) {
            formatSheet.selectedSheetIndex = sheetIdx;
            sheetName = formatSheet.selectedSheet.name;
            for (colIdx = 0; colIdx < formatSheet.columns.length; colIdx++) {
                for (rowIdx = 0; rowIdx < formatSheet.rows.length; rowIdx++) {
                    if (sheetName === 'Number') {
                        formatSheet.setCellData(rowIdx, colIdx, colIdx + rowIdx);
                    } else {
                        date = new Date(2015, colIdx, rowIdx + 1);
                        formatSheet.setCellData(rowIdx, colIdx, date);
                    }
                }
            }
        }
        formatSheet.selectedSheetIndex = 0;
    });
    
	document.getElementById('eval').addEventListener('click', e => {
		var val = formatSheet.evaluate('=sum(a1:e5)');
        document.getElementById('value').innerHTML = val;
    });
}