<script language="javascript"> function Excel(){
<%
ArrayList list = new ArrayList();
for (int i = 0; i < 10; i++) {
RowData ROW = new RowData();
ROW.setRow1("1");
ROW.setRow2("2");
ROW.setRow3("3");
ROW.setRow4("4");
list.add(ROW);
WriteXLS.writeExcelBo("c:\\输出.xls",list);
}
%>
}
</script> 这是代码的一部分,问题是这样的:当我在ie输入网址后,excel文件自动下载完毕!(正确的应该是:点击按钮,然后才会下载EXCEL文件)
请问如何解决???
ArrayList list = new ArrayList();
for (int i = 0; i < 10; i++) {
RowData ROW = new RowData();
ROW.setRow1("1");
ROW.setRow2("2");
ROW.setRow3("3");
ROW.setRow4("4"); list.add(ROW);
WriteXLS.writeExcelBo("c:\\输出.xls",list);
}
%>
不用加
<%
%>
如果你要点的就要放到button的click事件里面而不是放到一个js的function里面
你现在放到的function里面,只要打开页面就会运行,因为你是后台代码,和js没有半毛钱关系……
<%
if(Request.QueryString["getex"]=="1"){//==========判断是否为下载操作
ArrayList list = new ArrayList();
for (int i = 0; i < 10; i++) {
RowData ROW = new RowData();
ROW.setRow1("1");
ROW.setRow2("2");
ROW.setRow3("3");
ROW.setRow4("4"); list.add(ROW);
WriteXLS.writeExcelBo("c:\\输出.xls",list);
}
Response.End();//====
}
%>
<script language="javascript"> function Excel(){
window.location='?getex=1';//加一个参数,如果存在这个参数才执行服务端代码
}
</script>
<a href="javascript:Excel()">点击下载</a>
<form >
<input type="button" value="导出" onclick="Excel()">
</form>
语句的!
如果是.net,应该是:<asp:Button ID="Button1" runat="server" Text="Button"
onclick="Button1_Click" /> protected void Button1_Click(object sender, EventArgs e)
{
//
}
<body>
<form >
<input type="button" value="导出" onclick="Excel()">
</form><script language="javascript"> function Excel(){
<%
ArrayList list = new ArrayList();
for (int i = 0; i < 10; i++) {
RowData ROW = new RowData();
ROW.setRow1("1");
ROW.setRow2("2");
ROW.setRow3("3");
ROW.setRow4("4");
list.add(ROW);
WriteXLS.writeExcelBo("c:\\输出.xls",list);
}
%>
}
</script>
</body>问题还是没有解决呢。赐教!!!!谢谢!!!!!问题:进入ie浏览器后,还未点击button“导出”,刚进入页面,“c:\\输出.xls”文件就自动下载了。为什么呢?
提示有错误,新加入的有注释的那句有错呢?[i]if(Request.QueryString["getex"]=="1"){//==========判断是否为下载操作
Request cannot be resolved