2012-01-30 2 views
1

IE에서 내보내기가 Excel에서 작동하지 않는 JSP에서 extgs Ext.grid.GridPanel을 사용하고 있습니다. 그것은 FireFox와 크롬에서 작동합니다.extjs excel to excel IE에서 작동하지 않습니다

코드 :

window.location='data:application/vnd.ms-excel;base64,' + Base64.encode(grid.getExcelXml()); 

이 좋은 말 중 하나가 나에게 이것에 대한 솔루션을 제공합니다. 미리 감사드립니다.

+0

IE의 버전은 무엇입니까? –

+0

IE 9에서 시험해 보았습니다. – sivakg2000

답변

0

IE의 보안 수준 설정을 확인할 수 있습니까? 자동 downloads->

당신이 그렇지 않으면 그냥 바로 창 닫기를 열 작동하지 않습니다 파일을 다운로드 할 수 있도록하려면이 옵션을 사용 가능 파일에 대한 프롬프트

사용자 레벨 -> 보안 설정 -> Downloads-을>. 무슨 일이 있었는지 확인할 수는 없습니다.

나는 그것이 당신을위한 해결책이되기를 바랍니다.

1

다음 코드로이 문제를 해결했습니다.

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()); 
} 

%> 
+0

[이 페이지는 Steve Drucker가 제공합니다.] (http://druckit.wordpress.com/2013/10/26/generate-an-excel-file-from-an-ext-js- 4-grid /)를 사용하여 getExcelXml()을 정의한다. – emallove