在exceljs中导出的值有多种类型
如果excel弄得特别花哨是,导出单元格的值得类型会特别的多,需要判断得出具体值
public getValue(cell: Excel.Cell) {
try {
let valueType = Object.prototype.toString.call(cell.value);
let cellValue = <any>cell.value;
if(valueType == '[object Object]') {
if(cell.value.hasOwnProperty('richText')) {
let val = '';
for(let obj of cellValue.richText) {
val += obj.text;
}
CellObj.value = val;
}
if(cell.value.hasOwnProperty('error')) {
CellObj.value = cellValue.error
}
if(cell.value.hasOwnProperty('hyperlink')) {
CellObj.value = cellValue.text + cellValue.hyperlink;
}
if(cell.value.hasOwnProperty('sharedFormula')) {
}
if(cell.value.hasOwnProperty('formula')) {
}
} else if(valueType == '[object String]' || valueType == '[object Number]') {
CellObj.value = cell.text;
} else if (valueType == '[object Null]') {
} else if(valueType == '[object Boolean]') {
} else if(valueType == '[object Date]') {
}
} catch (error) {
CellObj.value = '';
}
}
大致就是这样,上面的代码是不能运行的,需要自行修改
后续应该不会更新导出excel的博客了,可以打断点,多尝试就可以看到导出的具体值了,也可以参考exceljs下的index.d.ts