在jsp中使用extjs Ext.grid.GridPanel的Im中,導出爲Excel功能在IE中不起作用。它使用FireFox和chrome。extjs導出爲excel無法在IE中工作
代碼:
window.location='data:application/vnd.ms-excel;base64,' + Base64.encode(grid.getExcelXml());
請任何人給我這種情況的解決方案。提前致謝。
在jsp中使用extjs Ext.grid.GridPanel的Im中,導出爲Excel功能在IE中不起作用。它使用FireFox和chrome。extjs導出爲excel無法在IE中工作
代碼:
window.location='data:application/vnd.ms-excel;base64,' + Base64.encode(grid.getExcelXml());
請任何人給我這種情況的解決方案。提前致謝。
你能檢查IE的安全級別設置嗎?
自定義級別 - >安全設置 - >下載專區 - >自動提示文件下載專區 - >啓用
啓用該選項允許你下載文件,否則它不會工作得馬上打開窗戶,關閉。你無法確定發生了什麼事。
我希望它能爲您解決問題。
我用下面的代碼解決了這個問題。
var vExportContent = grid.getExcelXml();
var dataURL = 'export.jsp';
params =[{
name: 'ex',
value: vExportContent
},{
name: 'FileName',
value: 'excel.xls'
}];
post_to_url(dataURL, params, 'post');
function post_to_url(path, params, method) {
method = method || "post";
var form = document.createElement("form");
form.setAttribute("method", method);
form.setAttribute("action", path);
for(var i=0; i<params.length; i++) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", params[i].name);
hiddenField.setAttribute("value", params[i].value);
// alert(params[i].value);
form.appendChild(hiddenField);
}
document.body.appendChild(form);
form.submit();
}
export.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%
response.setHeader("Pragma","public");
response.setHeader("Expires","0");
response.setHeader("Cache-Control","must-revalidate, post-check=0, pre-check=0");
response.setHeader("Content-Type","application/force-download");
response.setHeader("Content-Type","application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=export2excel.xls");
%>
<%@ page import="java.io.*" %>
<%
String h=request.getParameter("ex");
try {
PrintWriter pw = response.getWriter();
//out.println(request.getParameter("ex"));
pw.println(request.getParameter("ex"));
//clean up
pw.close();
} catch(IOException e) {
out.println(e.getMessage());
}
%>
請參閱[Steve Drucker的此頁](http://druckit.wordpress.com/2013/10/26/generate-an-excel-file-from-an-ext-js- 4格/)來定義'getExcelXml()'(在上面的解決方案中使用)。 – emallove 2014-03-20 19:43:00
什麼是IE瀏覽器的版本? – 2012-01-30 12:45:37
我曾在IE 9中試過。 – sivakg2000 2012-01-31 06:18:50