Extjs如何:页面上的一个按钮点击之后,自动访问一个PHP 文件它能够自动生成一个Excel文件供下载?
期望实现这样一个设计Ext.panel.Panel面板上安排有一个Ext.button.Button按钮,点击它的时候,期望通过它去访问一个服务器上面的一个PHP文件,这...
期望实现这样一个设计Ext.panel.Panel面板上安排有一个Ext.button.Button按钮,点击它的时候,期望通过它去访问一个服务器上面的一个PHP文件,这个PHP文件请求执行的时候会自动生成一个可供下载的Excel文件给这个点击者。
展开
1个回答
展开全部
可以这样,button里写 window.open('xxx.php?fileName=aaaa'),然后这个php文件里根据这个fileName找到对应文件,然后在这个页面以文件流的形式输出到浏览器端,这样会生成保存文件对话框
我是搞C#的,C#的文件流输出到浏览器代码如下
stream = File.Open(filePathName, FileMode.Open, FileAccess.Read);
byte[] data = new byte[stream.Length];
int result = stream.Read(data, 0, data.Length);
if (!File.Exists(filePathName))
return;
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.Charset = Encoding.UTF8.ToString();
HttpContext.Current.Response.AddHeader("Content-Disposition", "inline;filename=" + Server.UrlEncode(fileName));
HttpContext.Current.Response.AddHeader("Content-Length", data.Length.ToString());
HttpContext.Current.Response.ContentType = "application/ms-excel";
stream.Close();
File.Delete(filePathName);
Response.BinaryWrite(data);
HttpContext.Current.ApplicationInstance.CompleteRequest();
追问
嗯,我理解您的解释
唯一的差别是我这里的对应的文件是一个PHP执行之后调用PHP相关程序动态自动生成的一个Excel文件,不是一个静态的那个fileName文件C#我没有学习过但是还是谢谢你的热心帮助!
新春快乐,万事如意!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询