Hi Vikash21,
I have used the same data as it was referred in previous solution.
I have created a sample which full fill your requirement you need to modify the code according to your need.
HTML
<div>
<input type="button" class="btn btn-primary" id="btnExport" name="name" value="Export" />
<br />
<table id="tbl_category">
</table>
</div>
<div>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script type="text/javascript" src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
<link rel="Stylesheet" href="https://cdn.datatables.net/1.10.15/css/jquery.dataTables.min.css" />
<script type="text/javascript" src="https://cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$.ajax({
type: "POST",
url: "priority.aspx/GetPriRecords",
data: "{ priselect : 'yes'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var xmlDoc = $.parseXML(response.d);
var PriRecords = $(xmlDoc).find("PriRecords");
$('#tbl_category').append('<thead><tr><th>Data</th></tr></thead>');
$('#tbl_category').append('<tbody>');
$.each(PriRecords, function () {
var tr = $('<tr />');
var PriRecord = $(this);
var MEASURENAME = $(PriRecord).find('MEASURENAME').text();
var MEASUREDESCRIPTION = $(PriRecord).find('MEASUREDESCRIPTION').text();
var MEASURETYPE = $(PriRecord).find('MEASURETYPE').text();
var NQF = $(PriRecord).find('NQF').text();
var NQSDOMAIN = $(PriRecord).find('NQSDOMAIN').text();
var Details = '';
Details += '<input type="checkbox" class="chkExport" /> ';
Details += '<span style="font-weight: 700;">MEASURENAME :</span> ' + MEASURENAME + '<br />';
Details += '<span style="font-weight: 700;">MEASUREDESCRIPTION :</span> ' + MEASUREDESCRIPTION + '<br />';
Details += '<span style="font-weight: 700;">MEASURETYPE :</span> ' + MEASURETYPE + '<br />';
Details += '<span style="font-weight: 700;">NQF :</span> ' + NQF + '<br />';
Details += '<span style="font-weight: 700;">NQSDOMAIN :</span> ' + NQSDOMAIN + '<hr style="border: 1px solid;" />';
var td = $('<td />');
$(td).append(Details);
$(tr).append(td);
$('#tbl_category').append(tr);
});
$('#tbl_category').append('</tbody>');
$('#tbl_category').dataTable();
}
});
$('[id*=btnExport]').click(function () {
ExportToExcel('tbl_category');
return false;
});
});
function ExportToExcel(Id) {
var tab_text = "<table border='2px'><tr>";
var textRange;
var j = 0;
tab = document.getElementById(Id);
var headerRow = $('[id*=tbl_category] tr:first');
tab_text += headerRow.html() + '</tr><tr>';
var rows = $('[id*=tbl_category] tr:not(:has(th))');
for (j = 0; j < rows.length; j++) {
if ($(rows[j]).find('input').is(':checked')) {
tab_text = tab_text + rows[j].innerHTML + "</tr>";
}
}
tab_text = tab_text + "</table>";
tab_text = tab_text.replace(/<A[^>]*>|<\/A>/g, ""); //remove if u want links in your table
tab_text = tab_text.replace(/<img[^>]*>/gi, ""); // remove if u want images in your table
tab_text = tab_text.replace(/<input[^>]*>|<\/input>/gi, ""); // reomves input params
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // If Internet Explorer
{
txtArea1.document.open("txt/html", "replace");
txtArea1.document.write(tab_text);
txtArea1.document.close();
txtArea1.focus();
sa = txtArea1.document.execCommand("SaveAs", true, Id + ".xls");
}
else { //other browser not tested on IE 11
sa = window.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text));
}
return (sa);
}
</script>
</div>
C#
[WebMethod]
public static string GetPriRecords(string priselect)
{
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
DataTable dt = new DataTable("PriRecords");
SqlCommand cmd = new SqlCommand("[qqpbyhighprioritys]", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@HIGHPRIORITY", SqlDbType.VarChar).Value = priselect;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
da.Fill(dt);
DataSet ds = new DataSet();
ds.Tables.Add(dt);
return ds.GetXml();
}
}
VB.Net
<WebMethod()> _
Public Shared Function GetPriRecords(priselect As String) As String
Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
Using con As New SqlConnection(constr)
Dim dt As New DataTable("PriRecords")
Dim cmd As New SqlCommand("[qqpbyhighprioritys]", con)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("@HIGHPRIORITY", SqlDbType.VarChar).Value = priselect
Dim da As New SqlDataAdapter()
da.SelectCommand = cmd
da.Fill(dt)
Dim ds As New DataSet()
ds.Tables.Add(dt)
Return ds.GetXml()
End Using
End Function
ScreenShot
