1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 前端使用xlsx导入本地excel文件兼容问题 数据格式处理问题

前端使用xlsx导入本地excel文件兼容问题 数据格式处理问题

时间:2021-09-27 16:08:30

相关推荐

前端使用xlsx导入本地excel文件兼容问题 数据格式处理问题

1、数据格式问题处理

日期格式识别错误,识别的时间不对,识别成了格林威治时间

时间格式识别错误,导入后识别成了几位数字

刚开始,百度了一下网上都得一些解决方法,说是需要对这些数据格式进行转换

其实不用那么麻烦,xlsx插件就有属性将日期保存为日期格式

查看xlsxnpm文档

搜索options,找到Parsing Options,点击进去查看属性,设置cellDatestrue

2、数据读取兼容问题

刚开始是用fetch去请求文件的,但是发现以应用插件的形式放到应用上,会白屏报错,报错如下:Fetch API cannot load ... URL scheme file is not supported

刚开始代码段如下:

export function readExcelFile(fileName) {return new Promise(async (resolve, reject) => {const url = `./systemFiles/${fileName}.xlsx`;try {const file = await (await fetch(url)).arrayBuffer();const wb = read(file, { cellDates: true });const data = utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);resolve(data);} catch (error) {reject(error);}});}

解决方法如下,Fetch对低版本浏览器有兼容问题,改为axios解决问题,代码如下

export function readExcelFile(fileName) {return new Promise(async (resolve, reject) => {const url = `./systemFiles/${fileName}.xlsx`;try {const result = await axios.get(url, { responseType: 'arraybuffer' });const wb = read(result.data, { cellDates: true, type: 'array' });const data = utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);resolve(data);} catch (error) {reject(error);}});}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。