js实现excel输出时,无法提示“数据处理中”
[code=html]<script language="javascript">
function AutomateExcel()
{
showsending();
try{
var oXL = new ActiveXObject("Excel.Application"); //创建应该对象 xls = new ActiveXObject("Excel.Application");
}catch(e){openBg(0);openTS(0);
alert("请您打开ActiveX控件,具体操作:单击IE中的“工具”里“Internet 选项”,单击“安全”中的“自定义级别”中“ActiveX控件和插件”中,请选择第三项为启用即可。详细错误:"+e.message);
return ;
}
if (oXL == null){openBg(0);openTS(0);
alert("创建Excel文件失败,可能是您的计算机上没有正确安装Microsoft Office Excel软件或浏览器的安全级别设置过高!");
return;
}
var oWB = oXL.Workbooks.Add();//新建一个Excel工作簿
var oSheet = oWB.ActiveSheet;//指定要写入内容的工作表为活动工作表
var table = document.all.exceldata;//指定要写入的数据源的id
var hang = table.rows.length;//取数据源行数
var lie = table.rows(0).cells.length;//取数据源列数
for (i=0;i <hang;i++){//在Excel中写行
for (j=1;j <lie-1;j++){//在Excel中写列
oSheet.Range( oSheet.Cells(1,1),oSheet.Cells(i+2,j+1)).HorizontalAlignment =-4108;//水平对齐方式
oSheet.Range( oSheet.Cells(1,1),oSheet.Cells(i+2,j+1)).VerticalAlignment =-4108; //垂直对齐方式
oSheet.Cells(i+2,j).Borders(1).LineStyle =1
oSheet.Cells(i+2,j).Borders(2).LineStyle =1
oSheet.Cells(i+2,j).Borders(3).LineStyle =1
oSheet.Cells(i+2,j).Borders(4).LineStyle =1
oSheet.Rows(i+2).RowHeight = 20;//设置行高
if(table.rows(i).cells(j).innerHTML.toLowerCase().indexOf( " <img ")!=-1){//如果其HTML代码包括 <img
oSheet.Cells(i+2,j).Select();//选中Excel中的单元格
oSheet.Pictures.Insert(table.rows(i).cells(j).getElementsByTagName( "img ")[0].src);//插入图片
}
else{
oSheet.Cells(i+2,j).value = table.rows(i).cells(j).innerText;//向单元格写入值
}
}
}
oXL.Visible = true;
oXL.UserControl = true;
closesending();
}
function showsending(){
document.getElementById('popDiv').style.display='block';
document.getElementById('popIframe').style.display='block';
document.getElementById('bg').style.display='block';
}
function closesending(){
document.getElementById('popDiv').style.display='none';
document.getElementById('bg').style.display='none';
document.getElementById('popIframe').style.display='none';
}
</script>
html页面有<input type="button" value="导出到Excel" onClick="AutomateExcel();"style="width:90;" "/>按钮。
<div id="popDiv" class="sending" style="display: none;">
<table width="200" height="80" border="0" cellspacing="2" cellpadding="0" bgcolor="#8FA8E9">
<tr>
<td bgcolor="#eeeeee" align="center">数据处理中, 请稍候...</td>
</tr>
</table>
</div>
<div id="bg" class="bg" style="display: none;"></div>
<iframe id=