2013-10-31 24 views
2

我已经为ExtJs 4实现了这个UX(它从ExtJs 4网格或商店生成Excel文件)ExtJs4从IE中生成一个Excel文件让我知道:“传递给系统调用的数据区域太小”

http://druckit.wordpress.com/2013/10/26/generate-an-excel-file-from-an-ext-js-4-grid/#comment-982

和它完美的作品在Chrome中,但是我一直在IE

这里的任何版本收到此错误“传递给系统调用的数据区域太小,”是的片段代码似乎是问题,完整的代码位于上面的链接中。

var el = Ext.DomHelper.append(gridEl, { 
     tag: "a", 
     download: title + "-" + Ext.Date.format(new Date(), 'Y-m-d Hi') + '.xls', 
     //download: 'descarga.xls', 
     href: location 
    }); 

    el.click(); //this line seems to be causing the error 

    Ext.fly(el).destroy(); 
} 

我知道有downlodify和其他选项(如服务器端生成),但他们不是在这一点上我的选择。

我有什么机会让这个UX在IE中工作吗?

任何人都可以指向正确的方向吗?

谢谢。

+1

在这里寻找类似的问题http://stackoverflow.com/questions/14839882/open-html-page-in-excel-via-javascript –

+0

嗯,我想我必须发送我的网格数据到服务器并尝试返回它像“application/msexcel”,如果这不起作用,我将不得不实际使用POI,谢谢 –

回答

1

使用列出的方法在IE中无法正常工作,因为IE的最大值为2083个字符。如果您在此小提琴https://fiddle.sencha.com/#fiddle/17j中调试代码,您会注意到位置变量超过5000个字符,并且在IE中也失败。如果你调试你的代码,我假设问题是一样的。

相关问题