<script type="text/javascript">
/**
* 讀取表格中每個單元內容到EXCEL中
* author: martin
*/
function toExcel(tableid) {
//檢索瀏覽器
if(navigator.userAgent.indexOf("MSIE") < 0){
alert('請用ie瀏覽器進行表格導出!');
return;
}
var curTbl = document.getElementById(tableid);
var oXL = null;
try {
oXL = GetObject("", "Excel.Application");
}catch(E){
try {
oXL = new ActiveXObject("Excel.Application");
}catch(E2) {
alert("無法啓動Excel!/n/n請調整IE瀏覽器的安全級別。");
window.location.reload(true);
return;
}
}
var oWB = oXL.Workbooks.Add(); //創建AX對象excel
var oSheet = oWB.ActiveSheet; //獲取workbook對象
//定義行高
oSheet.Rows(1+":"+1).RowHeight = 40;
//定義列寬
oSheet.Columns('A:A').ColumnWidth = 0;
oSheet.Columns('B:B').ColumnWidth = 4;
oSheet.Columns('C:C').ColumnWidth = 10;
oSheet.Columns('D:D').ColumnWidth = 4;
oSheet.Columns('E:E').ColumnWidth = 11;
oSheet.Columns('F:F').ColumnWidth = 30;
oSheet.Columns('G:G').ColumnWidth = 5;
//定義對齊方式
oSheet.Rows(1).HorizontalAlignment = 3;
/* //指定頁面區域內容導入Excel
var sel = document.body.createTextRange(); //激活當前sheet
sel.moveToElementText(curTbl); //把頁面區域內容移到TextRange中
sel.select(); //全選TextRange中內容
sel.execCommand("Copy"); //複製內容
oSheet.Paste(); //粘貼到活動的EXCEL中
oXL.Visible = true; //設置excel可見
oSheet.Application.Quit(); //結束當前進程 */
//指定頁面區域"單元格"內容導入Excel
var Lenr = curTbl.rows.length; //取得表格行數
for(i=0; i<Lenr; i++){
var Lenc = curTbl.rows(i).cells.length; //取得每行的列數
for(j=0; j<Lenc; j++){
oSheet.Cells(i+1,j+1).value = "'" + curTbl.rows(i).cells(j).innerText; //賦值
}
}
oXL.Visible = true;
}
</script>
-------------------------------------程序調用-----------------------------------
<table id="tableExcel" align="center">*************</table>
<button οnclick="toExcel('tableExcel')">生成Excel報表</button>