我正在尝试使用 new 将 HTML 表格转换为 Javascript 中的 Excel ActiveXObject("Excel.application")
。基本上,我遍历表格单元格并将值插入到 excel 中的相应单元格中:
//for each table cell
oSheet.Cells(x,y).value = cell.innerText;
问题是当单元格的日期格式为“dd-mm-yyyy”(例如 10-09-2008)时,excel 将读取为“mm-dd-yyyy”(即 2008 年 10 月 9 日)。我试图指定NumberFormat
如下:
oSheet.Cells(x,y).NumberFormat = 'dd-mm-yyyy';
但是,它没有效果。似乎这只影响 excel 如何显示值,而不是 parse。我现在唯一的解决方案是交换日期,如:
var txt = cell.innerText;
if(/^(\d\d)-(\d\d)-\d\d\d\d$/.test(txt)) txt = txt.replace(/^(\d\d)-(\d\d)/,'$2-$1');
但是,我担心它不是通用的,不同的机器设置会失败。
有没有办法具体说明excel如何解析输入值?