需要使用activex,如下代码将 score_table 导出,似乎不用指定版本,任意版本的excel都可以导出。
function SaveAsExcel()
{
var objTab=document.getElementById("score_table");
try
{
var xls = new ActiveXObject("Excel.Application");
}
catch(e)
{
alert("要保存为excel,您必须安装Excel电子表格软件,同时浏览器须使用“ActiveX控件”");
return;
}
xls.visible=false;
var xlBook=xls.Workbooks.Add;
var xlsheet=xlBook.Worksheets(1);
var x=1;
var y=1;
for(var i=0; i<objTab.rows.length; i++)
{
y=1;
for(var j=0; j<objTab.rows[i].cells.length; j++)
{
xlsheet.Cells(x,y).Value=objTab.rows[i].cells[j].innerText;
xlsheet.Cells(x,y).Borders.LineStyle=1;
y++;
}
x++;
}
xlsheet.Columns.AutoFit; //自动适应大小
try
{
var fileSave = new ActiveXObject("MSComDlg.CommonDialog");
fileSave.Filter=".xls";
fileSave.FilterIndex=2;
fileSave.MaxFileSize=128;
fileSave.ShowSave();
var savepath=fileSave.FileName+'.xls';
xlsheet.SaveAs(savepath);
window.status="Saving as excel to "+savepath+" Success!!!";
}
catch(e)
{
window.status="call save file dialog failed.";
}
xlsheet.Application.Quit();
return;
}
完整html:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gbk"/>
<title></title>
<style type="text/css">
body
{
overflow:auto
}
</style>
<script type="text/javascript">
function SaveAsExcel()
{
var objTab=document.getElementById("score_table");
try
{
var xls = new ActiveXObject("Excel.Application");
}
catch(e)
{
alert("要保存为excel,您必须安装Excel电子表格软件,同时浏览器须使用“ActiveX控件”");
return;
}
xls.visible=false;
var xlBook=xls.Workbooks.Add;
var xlsheet=xlBook.Worksheets(1);
var x=1;
var y=1;
for(var i=0; i<objTab.rows.length; i++)
{
y=1;
for(var j=0; j<objTab.rows[i].cells.length; j++)
{
xlsheet.Cells(x,y).Value=objTab.rows[i].cells[j].innerText;
xlsheet.Cells(x,y).Borders.LineStyle=1;
y++;
}
x++;
}
xlsheet.Columns.AutoFit; //自动适应大小
try
{
var fileSave = new ActiveXObject("MSComDlg.CommonDialog");
fileSave.Filter=".xls";
fileSave.FilterIndex=2;
fileSave.MaxFileSize=128;
fileSave.ShowSave();
var savepath=fileSave.FileName+'.xls';
xlsheet.SaveAs(savepath);
window.status="Saving as excel to "+savepath+" Success!!!";
}
catch(e)
{
window.status="call save file dialog failed.";
}
xlsheet.Application.Quit();
return;
}
</script>
</head>
<body>
<br>
<center>
<table id=score_table border="1px">
<tr>
<td>学生\题目</td>
<td>第1题</td>
<td>第2题</td>
<td>第3题</td>
<td>第4题</td>
</tr>
<tr>
<td><a href="answer_1.htm" target="answer"><b>学生1:</b></a></td>
<td>0.00</td>
<td>0.00</td>
<td>0.00</td>
<td>0.00</td>
</tr>
</table>
</center><input type=button style="visibility:hidden;" id=save_excel onclick="SaveAsExcel();"
</body>
</html>