My SlickGrid Example

Excel like autoFill, formatted cells, dirty row detection, col/row selection

HTML

<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<script src="https://rawgithub.com/Celebio/SlickGrid/master/lib/jquery.event.drag-2.2.js"></script>
<script src="https://rawgithub.com/Celebio/SlickGrid/master/slick.core.js"></script>
<script src="https://rawgithub.com/Celebio/SlickGrid/master/slick.grid.js"></script>
<link rel="stylesheet" href="https://rawgithub.com/Celebio/SlickGrid/master/slick.grid.css">
<link rel="stylesheet" href="https://rawgithub.com/Celebio/SlickGrid/master/slick-default-theme.css">
<script src="http://code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<script src="https://rawgithub.com/Celebio/SlickGrid/master/plugins/slick.cellselectionmodel.js"></script>
<script src="https://rawgithub.com/Celebio/SlickGrid/master/plugins/slick.cellrangedecorator.js"></script>
<script src="https://rawgithub.com/Celebio/SlickGrid/master/plugins/slick.cellrangeselector.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
<script src="https://rawgit.com/Celebio/SlickGrid/master/plugins/slick.rowselectionmodel.js"></script>
<table width="100%">
    <tr>
        <td valign="top" width="50%">
            <div id="myGrid" style="width:280px;height:128px;"></div>
            <div id="result"></div>
             <div id="valid" style="color:red"></div>
        </td>
    </tr>
</table>

CSS

.cell-effort-driven {
    text-align: center;
}
.cell-yellow {
    display:inherit;
    width:100px;
    background: #FFFF00;
}
.slick-cell.selected {
    z-index:10;
    background:#FF8C00 !important;
}
.slick-cell.invalid {
    border-color: #0000FF;
}

JavaScript

$(function(){
	var  dummy = [["weblogic.work.ExecuteThread.run","run","178","ExecuteThread.java","1","1","09/26/16 15:50:58.000,20","20"],["weblogic.work.ExecuteThread.execute","execute","209","ExecuteThread.java","2","1","09/26/16 15:50:58.000,20","20"],["weblogic.servlet.internal.ServletRequestImpl.run","run","1454","ServletRequestImpl.java","3","1","09/26/16 15:50:58.000,20","20"],["weblogic.servlet.internal.WebAppServletContext.execute","execute","2183","WebAppServletContext.java","4","1","09/26/16 15:50:58.000,20","20"],["weblogic.servlet.internal.WebAppServletContext.securedExecute","securedExecute","2277","WebAppServletContext.java","5","1","09/26/16 15:50:58.000,20","20"],["weblogic.security.service.SecurityManager.runAs","runAs","120","SecurityManager.java","6","1#","09/26/16 15:50:58.000,20","20"],["weblogic.security.acl.internal.AuthenticatedSubject.doAs","doAs","321","AuthenticatedSubject.java","7","1#","09/26/16 15:50:58.000,20","20"],["weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run","run","3681","WebAppServletContext.java","8","1#","09/26/16 15:50:58.000,20","20"],["weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun","wrapRun","3715","WebAppServletContext.java","9","1#","09/26/16 15:50:58.000,20","20"],["weblogic.servlet.internal.FilterChainImpl.doFilter","doFilter","56","FilterChainImpl.java","10","1#","09/26/16 15:50:58.000,20","20"]];
  
  var data = JSON.parse(dummy);
  
  alert("data -- " + JSON.stringify(data);
});