SpreadJS自定义时间存储类型
在SpreadJS中默认采用了OADate的格式存储时间,在数据绑定时可以获取到OADate 字符串形式的时间如果希望获取string或者时间戳形式的日期类型可以通过一下方式实现
在数据绑定的columnInfo对象上,可以提供一个value方法来处理绑定字段。
arguments.为2个时,表示编辑数据后写入dataSource,将OADate格式的value转为Date类型再获取时间戳
arguments数量为1时,表格从dataSource取数据展示,我们讲时间戳转为Date类型返回,SpreadJS就可以在format后显示在单元格中了
var sheet = spread.getSheet(0);
sheet.autoGenerateColumns = false;
var colInfos = [
{ name: "id", displayName: "ID" },
{ name: "name", displayName: "Name", size: 100 },
{ name: "date", displayName: "Date", size: 80, formatter: "yyyy/mm/dd", value: function(item, value){
if(arguments.length == 2){
sheet.tag(value)
let tempDate = sheet.tag();
console.log(tempDate)
if(tempDate instanceof Date){
item.date = tempDate.getTime();
}
else{
item.date = value;
}
}
else{
if(item.date && item.date > 631123200000){
return new Date(item.date);
}
else{
return item.date;
}
}
} },
{ name: "date", displayName: "DateValue", size: 80 }
];
sheet.bindColumns(colInfos);
sheet.setDataSource([{id:1, date:1817740800000},{},{}])
页:
[1]