ASP表格导出EXCEL(带OFFICE版本检查和自定义文件名)

来源:互联网 发布:淘宝thinkpad美行水深 编辑:程序博客网 时间:2024/05/22 00:42
解决Office的OWC版本问题。2000,2002XP,2003各不相同,加入Office的版本检查,增加一个文件名参数,完整代码如下:

<script language="javascript">
function exportExcel(atblData,dirPath)
{
//alert(dirPath);
if (typeof(atblData)=="undefined"||typeof(atblData)=="unknow")
{
alert("没有数据可以导出!");
return;
}

var mysheet;
var off2000=false;
var off2002xp=false;
var off2003=false;

//office2003
try {
mysheet=new ActiveXObject("OWC11.Spreadsheet");
off2003=true;
}
catch(e) { }

//office2002-xp
if(!off2003)
{
try {
mysheet=new ActiveXObject("OWC10.Spreadsheet");
off2002xp=true;
}
catch(e) {}
}

//office 2000
if(!off2003 && !off2002xp)
{
try {
mysheet=new ActiveXObject("OWC.Spreadsheet");
off2000=true;
}
catch(e) {}
}
if(!off2000 && !off2002xp && !off2003 )
{
alert( "请确定已安装Excel2000(或更高版本)的OWC ActiveX控件,并且没打开同名xls文件");
return;
}

with(mysheet)
{
DataType = "HTMLData";
HTMLData =atblData.outerHTML;
try{
if(off2000)
{
ActiveSheet.Export(dirPath,0);
alert('导出EXCEL文档完毕');
}
if(off2002xp)
{
Export(dirPath,0);
alert('导出EXCEL文档完毕');
}
if(off2003)
{
Export(dirPath,0);
alert('导出EXCEL文档完毕');
}
}

catch (e)
{
alert('导出Excel表失败,请确定已安装Excel2000(或更高版本),并且没打开同名xls文件');
//alert(Error.description);
}
}
}
</script>

<table id=tblData>
<tr>
<td>
</tr>
</table>

<center><input type="button" value="导出Excel文档" onclick="exportExcel(tblData,'C://sale.xls')"></center>
原创粉丝点击