如何使用Javascript创建一个自动打开为Excel电子表格的文件?
我在Javascript文件中有一个字符串,我想用它制作Excel电子表格。我使用以下代码:如何使用Javascript创建一个自动打开为Excel电子表格的文件?,javascript,excel,Javascript,Excel,我在Javascript文件中有一个字符串,我想用它制作Excel电子表格。我使用以下代码: var url = 'data:application/vnd.ms-excel,' + encodeURIComponent(excel); location.href = url; 这里的“excel”是有问题的字符串 这非常有效;我可以下载该文件,然后将其作为Excel电子表格打开,格式正确,一切正常。但是当我打开文件时,我必须选择要用哪个程序打开它。有没有办法让我可以用Excel自动打开文件,
var url = 'data:application/vnd.ms-excel,' + encodeURIComponent(excel);
location.href = url;
这里的“excel”是有问题的字符串
这非常有效;我可以下载该文件,然后将其作为Excel电子表格打开,格式正确,一切正常。但是当我打开文件时,我必须选择要用哪个程序打开它。有没有办法让我可以用Excel自动打开文件,而不必从程序列表中进行选择?好吧,大卫的建议很管用。此链接: 将获取HTML表格并将其导出到Excel电子表格。我使用的是原始字符串,而不是HTML表,但相关部分对这两个表的作用相同:
var a = document.createElement("A");
var data_type = 'data:application/vnd.ms-excel';
a.href = data_type + "," + excel;
a.download = "student_data.xlsx";
a.click();
这将自动下载字符串作为.xlsx文件
我确实遇到了.xlsx格式的其他问题-Excel认为该文件已损坏,无法打开-但使用.csv而不是.xlsx解决了这一问题。下载文件后,本地计算机将确定使用哪个程序打开该文件。是否使用默认的Excel扩展名(如.xlsx)命名文件?根据您使用的浏览器,可能还需要调整一些设置。是的,我目前正在尝试使用.xlsx命名文件,但我能管理的最好方法是将.xlsx放在“url”变量的末尾。当然,所有这些都会将“.xlsx”放在电子表格的最后一个单元格中,而不是自动将其作为电子表格打开。您知道如何正确地为其指定.xlsx扩展名吗?将其添加到文件名的末尾应该可以做到这一点。这个答案可能就是你想要的