Excel 错误“.xls”的格式与文件扩展名指定的格式不同
我发现了一个插件,可以帮助我将ExtJS网格数据导出到MS Excel工作表中。 除了在打开文件之前出现的错误之外,所有这些都非常有效 我的和平守则:Excel 错误“.xls”的格式与文件扩展名指定的格式不同,excel,extjs,Excel,Extjs,我发现了一个插件,可以帮助我将ExtJS网格数据导出到MS Excel工作表中。 除了在打开文件之前出现的错误之外,所有这些都非常有效 我的和平守则: if (Ext.isChrome || Ext.isGecko) { // local download var gridEl = this.getEl(); var el = Ext.DomHelper.append(gridEl, { tag: "a",
if (Ext.isChrome || Ext.isGecko) { // local download
var gridEl = this.getEl();
var el = Ext.DomHelper.append(gridEl, {
tag: "a",
download: title + "-" + Ext.Date.format(new Date(), 'Y-m-d') + '.xls',
href: location
});
el.click();
Ext.fly(el).destroy();
}
一种解决方案建议我删除撇号,因此我尝试:
download: title + "-" + Ext.Date.format(new Date(), "Y-m-d") + ".xls",
但是没有运气。有什么想法吗?该错误与下载链接无关,而是与下载数据的内容有关。链接告诉Excel,2003年以前它应该是一个*.xls文件,但它不包含Excel数据,而是包含HTML或XML。@shadin:您可以将文件扩展名更改为xlsx,或者使用XlFileFormat.xlExcel8强制Excel对象保存为xls格式。@Paresh J:我不相信更改扩展名会使事情变得更好。我怀疑Excel将不再打开数据,因为数据是2003年以前Excel的SpreadsheetML,而不是OpenXML。并使用XlFileFormat强制Excel对象以XLS格式保存。xlExcel8是一个很好的观点。但是如何使用它呢?@Shadin:谢谢你添加到你使用的插件的链接。我怀疑插件会生成SpreadsheetML。这种类型的本机类型是XML而不是XLS。但是,默认情况下,如果它注册为xml的默认应用程序,那么as*.xml文件Excel将只打开它。因此,要么你接受警告信息,要么你使用真正可以创建Excel文件的东西。我明白了。我知道了。非常感谢阿克塞尔!