在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},{},{}])
复制代码
|
|