1. Copy the following code to the EXCEL page to export data. Call ExportToExcel ('table id', 'excel name to export.
Code
function ExportToExcel(tableid, filename) {
var table = document.getElementById(tableid);
if (!table) { return; }
var data = getTableData(table);
var objBody = document.getElementsByTagName("body").item(0);
var objExpTemp = document.getElementById('objExpTemp');
if (!objExpTemp) {
objExpTemp = document.createElement("iframe");
objExpTemp.setAttribute('id', 'objExpTemp');
objExpTemp.style.display = 'none';
objExpTemp.src = 'about:blank';
objBody.appendChild(objExpTemp);
}
var myForm = objExpTemp.contentWindow.document.forms['myForm'];
if (!myForm) {
objExpTemp.contentWindow.document.write('<div style="display:none"><form name="myForm"><input id="expContent" name="content" type="text" /><input id="expFileName" name="fileName" type="text" /></form></div>');
}
var myForm = objExpTemp.contentWindow.document.forms['myForm'];
var txtData = objExpTemp.contentWindow.document.getElementById('expContent');
txtData.value = data;
var txtFileName = objExpTemp.contentWindow.document.getElementById('expFileName');
txtFileName.value = filename;
myForm.action = 'ExcelTransfer.aspx';
myForm.method = 'POST';
myForm.submit();
return;
}
function getTableData(table) {
var tableData = "<table border=\"1\">" + table.innerHTML + "</table>";
return tableData;
}
2. Create an ExcelTransfer. aspx page. The aspx. cs code is as follows:
Code
Using System. Web. Security;
Using System. Web. UI;
Using System. Web. UI. WebControls;
Using System. Web. UI. WebControls. WebParts;
Using System. Web. UI. HtmlControls;
Public partial class ExcelTransfer: System. Web. UI. Page
{
Protected void Page_Load (object sender, EventArgs e)
{
String strContent = Request ["content"];
If (string. IsNullOrEmpty (strContent ))
Return;
String strFileName = Request ["fileName"];
If (string. IsNullOrEmpty (strFileName ))
{
StrFileName = "export table data ";
}
Response. Clear ();
Response. Buffer = true;
Response. Charset = System. Text. Encoding. UTF8.WebName;
Response. AppendHeader ("Content-Disposition", "attachment; filename =" + Server. UrlEncode (strFileName) + ". xls ");
Response. ContentEncoding = System. Text. Encoding. GetEncoding ("gb2312 ");
Response. ContentType = "application/ms-excel ";
This. EnableViewState = false;
Response. write ("// Response. Write (strContent );
Response. End ();
}
}
Over ....