Remove Table Column

by Boban Stojanovski

HTML

<table id="grdSubmissions">
<thead  style="background-color:#876">
   <tr>
    <th>Company</th>    
    <th>Company2</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
</thead>
<tbody> 
  <tr>
    <td>Alfreds Futterkiste</td>    
    <td>Alfreds Futterkiste</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr>
    <td>Centro comercial Moctezuma</td>
     <td>Centro comercial Moctezuma</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
</tbody>
<tfoot style="background-color: green">
   <tr>
      <td>Alfreds Futterkiste</td>    
      <td>Alfreds Futterkiste</td>
      <td>Maria Anders</td>
      <td>Germany</td>
  </tr>
</tfoot>
  
</table>

function removeTblCol(tableId, colsArr, removeFooter) {
  var tbl = $('#'+tableId).clone();

  if(removeFooter) {
   tbl.find('tfoot').remove();
  }

  var colsToRemove = [];
  for(var c = 0; c < colsArr.length; c++) {      
    var query = 'tr th:nth-child('+ colsArr[c] +'), tr td:nth-child('+ colsArr[c] +')';
    colsToRemove.push(query);   
  }
  colsToRemove = colsToRemove.join(',');
  
  console.log(colsToRemove);

  tbl.find(colsToRemove).remove();
  tbl.find('.control-hidden').remove();
}

removeTblCol('grdSubmissions', [0,1]);


 removeTblCol('grdSubmissions', [1, 2], true);
        tbl.find('.control-hidden').remove();

JavaScript

function removeTblCol($tbl, colsArr, removeFooter) {
          if (removeFooter) {
            $tbl.find('tfoot').remove();
          }

          var colsToRemove = [];
          for (var c = 0; c < colsArr.length; c++) {
            var query = 'tr th:nth-child(' + colsArr[c] + '), tr td:nth-child(' + colsArr[c] + ')';
            colsToRemove.push(query);
          }
          colsToRemove = colsToRemove.join(',');

          $tbl.find(colsToRemove).remove();
          return $tbl;
        }

        var tableToExcel = (function(table) {
          var uri = 'data:application/vnd.ms-excel;base64,',
            template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>',
            base64 = function(s) {
              return window.btoa(unescape(encodeURIComponent(s)))
            },
            format = function(s, c) {
              return s.replace(/{(\w+)}/g, function(m, p) {
                return c[p];
              })
            }

          return function(table, name) {
            if (!table.nodeType) {
              table = document.getElementById(table);
            }

            var ctx = {
              worksheet: name || 'Worksheet',
              table: table.innerHTML
            }
            window.location.href = uri + base64(format(template, ctx))
          }
        })();

        function downloadResultsAsExcel(tableId) {
          if ($('#' + tableId).length) {
            var searchRezTbl = $('#' + tableId).clone();
            searchRezTbl.attr('id')
            searchRezTbl.find('.control-hidden').remove();
            searchRezTbl.find('thead...