首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用js-xlsx编写日期列。

用js-xlsx编写日期列。
EN

Stack Overflow用户
提问于 2016-12-27 09:58:06
回答 1查看 8.1K关注 0票数 2

使用js-xlsx,我多次尝试用日期列编写XLSX文件,如下所示。每次使用Excel 2010打开XLSX文件时,日期都不会像我预期的那样呈现:它被呈现为来自某个来源的天数。是否有一种方法可以直接呈现日期,而不必在Excel中格式化该列?

代码语言:javascript
复制
const XLSX = require("xlsx");

var wb = { 
    Sheets: { 
        Sheet1: { 
            '!ref': 'A1:A2', 
            A1: { t: 'd', v: new Date('13 April 2014 00:00 UTC'), w: '2014-04-13' }, 
            A2: { t: 'd', v: new Date('13 April 2014 00:00 UTC'), w: '2014-04-13' }
        } 
    },
    SheetNames: [ 'Sheet1' ] 
  }

XLSX.writeFile(wb, "wbDate.xlsx", {cellDates: true});

编辑:可能的答案

最后,我得到了以下几个日期:

代码语言:javascript
复制
const XLSX = require("xlsx");

var wb = { 
    Sheets: { 
        Sheet1: { 
            '!ref': 'A1:B2', 
            A1: { t: 'd', v: '2016-06-21' }, 
            A2: { t: 'd', v: '2016-11-22' },
            B1: { t: 'n', v: 42542, z: 'm/d/yy' }, 
            B2: { t: 'n', v: 42696, z: 'm/d/yy' }
        } 
    },
    SheetNames: [ 'Sheet1' ] 
  }

XLSX.writeFile(wb, "wbDate.xlsx", {cellDates: false});

这提供了(Windows 7,Excel 2010,地区时间法国比利时):

奇怪的是,格式是m/d/yy,但是输出被呈现为d/m/yy (或dd/mm/yy?)。我没有设法得到另一种格式(但这一种对我来说很好)。

EN

回答 1

Stack Overflow用户

发布于 2016-12-27 10:15:16

在GitHub上,对此问题中格式化日期的各种方式进行了长时间的讨论和解释:

这是一个悬而未决的问题,所以所有的问题都可能还没有解决。

请记住,格式(自时代以来的日子)并不是唯一的问题。另一个问题是,这个时代的开始实际上是在不同的系统上从不同的一天开始的,这也必须被考虑在内。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41342929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档