>백엔드 개발 >PHP 튜토리얼 >请问一个PHPExcel有关问题

请问一个PHPExcel有关问题

WBOY
WBOY원래의
2016-06-13 11:59:48931검색

请教一个PHPExcel问题
最近在做一个项目,需要将查询处理后的表格数据导出到客户端的excel,因为页面表格数据并不是从数据库直接查询得到的,而是经过计算等处理得到。页面有一个按钮(button),onclick事件用ajax向服务器传递一些必要参数,exportexcel.php文件接收参数再查询数据库,并经过处理,最后使用phpexcel导出到excel文件。
因此问题也就来了,经测试发现ajax已经执行,但浏览器不会弹出窗口下载导出的excel文件,一点反应都没有。该如何做才能使用ajax传参数到exportexcel.php,并且能够弹出下载保存窗口?
ajax的代码
function excel(url1,params) 
 {   
                    try{            
       var xhr = new XMLHttpRequest();     
}catch(trymicrosoft){         
try{               
    var xhr = new ActiveXObject("Msxml2.XMLHTTP");        
}catch(othermicrosoft){           
try{              
      var xhr = new ActiveXObject("Microsoft.XMLHTTP");          
}catch(failed){                
  var xhr = false;            
    }         
}
}      
                    var url=url1+"?"+"&r="+Math.random();  
xhr.open("POST",url,true);   //readyState=1   
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");     
xhr.send(params); 
                     xhr.onreadystatechange= function()
{           
//如果等于4,表明交互完毕 ,我们可以取出服务器返回的内容       
    if(xhr.readyState== 4 && xhr.status== 200)
{               

}         
}
}

exportexcel.php代码没有问题,我单独测试过,能弹出下载窗口。
请高手指点下,该怎么做,都困扰我好几天了,一直没想出办法来

------解决方案--------------------
如果你不用 ajax,而用连接传递参数,这样会做吗?
------解决方案--------------------
改正一下,應該這樣。

<br />function excel(url1,params){   <br />	window.location = url1+"?"+"&r="+Math.random() + "&" + params;<br />}<br />

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.