Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Javascript创建一个自动打开为Excel电子表格的文件?_Javascript_Excel - Fatal编程技术网

如何使用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自动打开文件,

我在Javascript文件中有一个字符串,我想用它制作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扩展名吗?将其添加到文件名的末尾应该可以做到这一点。这个答案可能就是你想要的