'Exporting HTML table to Excel without hidden <td>tag

In my web application, I have an HTML table that shows some data to the user.

Here I want to export it to excel and I found a jQuery code to do that.

But the thing is it's also export the data that I hide from the table.

Is there any way to export the table without the <td style="display:none;"> @Html.DisplayFor(modelItem => item.Id) </td>

This is the table

 <table id="tblParts" class="table table-striped">
   <thead>
     <tr>
       <th> Part Number </th>
       <th> Description </th>
       <th> Model </th>
       <th> Order Qty </th>
       <th></th>
     </tr>
   </thead>
   <tbody> @foreach (var item in Model.OrderBy(i => i.PartNumber)) { <tr>
       <td style="display:none;"> @Html.DisplayFor(modelItem => item.Id) </td>
       <td> @Html.DisplayFor(modelItem => item.PartNumber) </td>
       <td> @Html.DisplayFor(modelItem => item.Description) </td>
       <td> @Html.DisplayFor(modelItem => item.Model) </td>
       <td> @Html.DisplayFor(modelItem => item.OrderQty) </td>
     </tr> } </tbody>
 </table>

This is the Jquery.

function ExportToExcel(type, fn, dl) {
  var elt = document.getElementById('tblParts');
  var wb = XLSX.utils.table_to_book(elt, {
    sheet: "sheet1"
  });
  return dl ?
    XLSX.write(wb, {
      bookType: type,
      bookSST: true,
      type: 'base64'
    }) :
    XLSX.writeFile(wb, fn || ('Order.' + (type || 'xlsx')));
}



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source