Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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 使用datetime now命名文件(JS)_Javascript_Html_Css_Excel - Fatal编程技术网

Javascript 使用datetime now命名文件(JS)

Javascript 使用datetime now命名文件(JS),javascript,html,css,excel,Javascript,Html,Css,Excel,我有代码可以下载HTML表格,比如excel 这是代码 var tableToExcel=(函数(){ var uri='data:application/vnd.ms excel;base64', 模板=“{table}”, base64=函数{ 返回窗口.btoa(unescape(一个或多个组件))) }, 格式=函数(s,c){ 返回s.replace(/{(\w+)}/g,函数(m,p){ 返回c[p]; }) } 返回函数(表、名称){ 如果(!table.nodeType)tab

我有代码可以下载HTML表格,比如excel

这是代码

var tableToExcel=(函数(){
var uri='data:application/vnd.ms excel;base64',
模板=“{table}”,
base64=函数{
返回窗口.btoa(unescape(一个或多个组件)))
},
格式=函数(s,c){
返回s.replace(/{(\w+)}/g,函数(m,p){
返回c[p];
})
}
返回函数(表、名称){
如果(!table.nodeType)table=document.getElementById(table);
变量ctx={
工作表:名称| |‘工作表’,
表:table.innerHTML
}
window.location.href=uri+base64(格式(模板,ctx));
}
})()

如果您想在客户端实现它,那么HTML5在
中提供了
属性

将URL设置为锚元素的href,并强制onClick()事件下载名称为的文件

例如:


变量链接=[…]
var\u html=links.map(link=>{
返回``
}).join();
body.innerHTML+=`${U html}`;
from(document.querySelectorAll('.downloadlista')).map(anchor=>anchor.click());
显然,有很多优化需要完成,这是一个粗糙的例子。但是应该可以工作

您应该使用带有
下载
属性的
元素来确定文件名

下面是一个如何动态创建
元素并设置
src
download
要下载的属性的示例:

var tableToExcel=(函数(){
var uri='data:application/vnd.ms excel;base64',
模板=“{table}”,
base64=函数{
返回窗口.btoa(unescape(一个或多个组件)))
},
格式=函数(s,c){
返回s.replace(/{(\w+)}/g,函数(m,p){
返回c[p];
})
}
返回函数(表、名称){
//如果(!table.nodeType)table=document.getElementById(table);
变量ctx={
工作表:名称| |‘工作表’,
表:table.innerHTML
}
//以下是如何使用datetime文件名下载。
//日期时间文件名
var filename=new Date().getTime();
var-element=document.createElement('a');
setAttribute('href',uri+base64(格式(模板,ctx));
setAttribute('download',filename);
element.style.display='none';
document.body.appendChild(元素);
元素。单击();
document.body.removeChild(元素);
}
})()
var table=document.getElementsByTagName('table')[0];
var newTableToExcel=新tableToExcel(表'myname')

1.
2.
3.
1.
2.
3.

您也可以共享您的HTML代码吗?如何调用
tableToExcel()
函数?如果你能分享你的代码的可运行的演示,那就太好了post@VicJordanit的html解决方案,但我需要日期。我认为它需要在js中使用javascript创建html元素。将其附加到dom。发送onClick事件。从dom中分离。将文件名设置为日期时间value@EugeneSukh也许试试这个。这是html解决方案,但我需要日期。我想它应该是js?谢谢它帮了我
<a href="http://www.google.com/.." download="download.xls">download me</a>
<script>
var links = [....]
var _html = links.map(link => {
    return `<a href="${link}" download="${Date.now()}.xls">`
}).join();
body.innerHTML += `<div style="display:none;" class="downloadList">${_html}</div>`;
Array.from(document.querySelectorAll('.downloadList a')).map(anchor => anchor.click());