通过javascript保存当前日期和时间的excel文件

通过javascript保存当前日期和时间的excel文件,javascript,excel,Javascript,Excel,我想打开excel文件,然后保存excel文件,文件名为文件名+当前日期和时间。对于我使用的日期date() 今天包含要在文件名中使用的非法字符(:)。你需要清理你的约会对象,例如: var today = new Date().toString().replace(/[^\w]/g, ''); 保存时,时间戳应该是文件名的一部分,而不是扩展名: excel_file.SaveAs("D:\\board" + today + ".xls"); 您可以使用方法将时间戳格式化为所需的格式,而不是

我想打开excel文件,然后保存excel文件,文件名为文件名+当前日期和时间。对于我使用的日期
date()


今天
包含要在文件名中使用的非法字符(
)。你需要清理你的约会对象,例如:

var today = new Date().toString().replace(/[^\w]/g, '');
保存时,时间戳应该是文件名的一部分,而不是扩展名:

excel_file.SaveAs("D:\\board" + today + ".xls");
您可以使用方法将时间戳格式化为所需的格式,而不是
.toString().replace()


编辑

以下是您可以修改日期的代码。我已经为您简化了
getDate()
,因此您可以修改它以您想要的任何形式返回日期

var today = new Date(),
    time = today.toTimeString().split(':').join('').substr(0, 4),
    timestamp = getDate('dd_mm_yyyy', today) + '_' + time;

function getDate (mode, userdate) {
    var dte = userdate || new Date(),
        d = dte.getDate().toString(),
        m = (dte.getMonth() + 1).toString(),
        yyyy = dte.getFullYear().toString(),
        dd = (d.length < 2) ? '0' + d : d,
        mm = (m.length < 2) ? '0' + m : m,
        yy = yyyy.substring(2, 4);
    switch (mode) {
        case 'dd_mm_yyyy': return dd + '_' + mm + '_' + yyyy;
        case 'yyyymmdd': return yyyy + mm + dd;
        default: return dte;
    }
}
var today=新日期(),
time=today.toTimeString().split(“:”).join(“”).substr(0,4),
timestamp=getDate('dd_-mm_-yyyy',今天)+''.'时间;
函数getDate(模式,userdate){
var dte=userdate | | new Date(),
d=dte.getDate().toString(),
m=(dte.getMonth()+1.toString(),
yyyy=dte.getFullYear().toString(),
dd=(d.长度<2)?“0”+d:d,
mm=(m.长度<2)?“0”+m:m,
yy=yyy.子串(2,4);
开关(模式){
案例'dd_-mm_-yyyy':返回dd+''.'+mm+'.'.'+yyyy;
案例“yyyymmdd”:返回yyyy+mm+dd;
默认:返回dte;
}
}

timestamp
在运行上述代码后,以想要的形式包含一个日期

当前输出文件名是什么?所需的文件名是什么?我想你知道这与跨浏览器的兼容性很差吗?所需的文件名可以是任何东西。保存文件后,没有限制。我想要这样的文件格式“Invoicendeails20_NOV_2013_12_2355”表示文件名,然后是DD-MM-YY,然后是时间。你可以从
new Date()提取所有需要的时间项
,请按照我的答案中提供的链接进行操作。记住,时间不能包含
。如果您在格式化时间戳时需要帮助,也许您应该问一个新问题,格式化日期与保存Excel文件完全不同。谢谢您的帮助GUIDENCE@Teemu
var today = new Date(),
    time = today.toTimeString().split(':').join('').substr(0, 4),
    timestamp = getDate('dd_mm_yyyy', today) + '_' + time;

function getDate (mode, userdate) {
    var dte = userdate || new Date(),
        d = dte.getDate().toString(),
        m = (dte.getMonth() + 1).toString(),
        yyyy = dte.getFullYear().toString(),
        dd = (d.length < 2) ? '0' + d : d,
        mm = (m.length < 2) ? '0' + m : m,
        yy = yyyy.substring(2, 4);
    switch (mode) {
        case 'dd_mm_yyyy': return dd + '_' + mm + '_' + yyyy;
        case 'yyyymmdd': return yyyy + mm + dd;
        default: return dte;
    }
}