Vue2+XLSX导出日期格式化

使用XLSX导出日期时,若将data中的数据直接装为需要的String,导出没问题。但是会在重新导入时识别不到。所以需要使用XLSX内置的日期格式化方式。
需要先但需创建sheet,对sheet中的列进行操作。打印创建的sheet对象,可以看到日期格式是在z字段中:
Vue2+XLSX导出日期格式化_第1张图片
所以可以将日期即A列的对象的z字段改为需要的日期格式,如yyyy-mm

export function exportExcelFile(array, fileName = 'data', sheetName = '表1') {
	//将数据装为sheet格式
  const jsonWorkSheet = XLSX.utils.json_to_sheet(array);
  // 设置第一列数据宽度
  jsonWorkSheet['!cols'] = [{ wch: 15 }];
  //获取到各个单元格的序号,如A1,B2。序号就是key
  let keys = Object.keys(jsonWorkSheet);
  // 设置第一列日期的导出格式
  for (let key of keys) {
  //导出的日期为第一列,A;不同的列数判断不同的英文序号
    if (key.indexOf('A') > -1) {
    //修改z字段表示的日期格式
      jsonWorkSheet[key].z = 'yyyy-mm';
    }
  }
  // console.log('jsonSheet', jsonWorkSheet);

  let workBook = XLSX.utils.book_new();
  XLSX.utils.book_append_sheet(workBook, jsonWorkSheet, sheetName);
  return XLSX.writeFile(workBook, `${fileName}.xlsx`);
}

然后将sheet放入创建的workBook中,进行导出。

你可能感兴趣的:(前端库,前端)