js-xlsxを使用して、以下のような Date 列を含む XLSX ファイルを書き込もうと何度か試みました。毎回、Excel 2010 で XLSX ファイルを開くと、日付が期待どおりにレンダリングされません。特定の起点からの日数としてレンダリングされます。Excel で列をフォーマットせずに、日付を直接レンダリングする方法はありますか?
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});
編集:可能な答え
最後に、次のようにいくつかの日付を取得します。
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