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...