错误:到达数据结尾数据长度= 110449,要求的索引= 171816拉链损坏? 节点js,工作表js

问题描述

let file = [ { fieldname: 'retailers',originalname: 'PB,HR,CH.xlsx',encoding: '7bit',mimetype:
         'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',buffer:
         <Buffer 50 4b 03 04 14 00 08 08 08 00 18 ef bf bd ef bf bd 50 00 00 00 00 00 00 00 00 00 00 00 00 18 00 00 00 78 6c 2f 64 72 61 77 69 6e 67 73 2f 64 72 61 77 ... >,size: 110449,filepath: '/tmp/PB,CH.xlsx' } ]
    



let tempFile = Path.join(os.tmpdir(),file[0].originalname)
                        var wb =  xlsx.readFile(tempFile)
                        let sheetname = wb.SheetNames

                        var ws = wb.Sheets[sheetname[0]]
                        var csvToJSON = await xlsx.utils.sheet_to_json(ws,{raw:true,defval:""})

我正在尝试使用xlsx模块(sheetjs)上传excel文件,但是当我更新任何excel文件时,xlsx.readFile(tempFile)会给我以下错误

Error: End of data reached (data length = 110449,asked index = 171816). Corrupted zip ?
at NodeBufferReader.checkIndex (/home/batman/Desktop/todoStack/Code Brew Labs/node_modules/xlsx/jszip.js:272:19)
at NodeBufferReader.checkOffset (/home/batman/Desktop/todoStack/Code Brew Labs/node_modules/xlsx/jszip.js:263:14)
at NodeBufferReader.readData (/home/batman/Desktop/todoStack/Code Brew Labs/node_modules/xlsx/jszip.js:634:10)
at NodeBufferReader.readString (/home/batman/Desktop/todoStack/Code Brew Labs/node_modules/xlsx/jszip.js:321:49)
at ZipEntries.readBlockEndOfCentral (/home/batman/Desktop/todoStack/Code Brew Labs/node_modules/xlsx/jszip.js:2198:39)
at ZipEntries.readEndOfCentral (/home/batman/Desktop/todoStack/Code Brew Labs/node_modules/xlsx/jszip.js:2286:14)
at ZipEntries.load (/home/batman/Desktop/todoStack/Code Brew Labs/node_modules/xlsx/jszip.js:2344:14)
at new ZipEntries (/home/batman/Desktop/todoStack/Code Brew Labs/node_modules/xlsx/jszip.js:2168:14)
at JSZipSync.module.exports [as load] (/home/batman/Desktop/todoStack/Code Brew Labs/node_modules/xlsx/jszip.js:581:18)
at new JSZipSync (/home/batman/Desktop/todoStack/Code Brew Labs/node_modules/xlsx/jszip.js:528:14)
at zip_read (/home/batman/Desktop/todoStack/Code Brew Labs/node_modules/xlsx/xlsx.js:2973:24)
at read_zip (/home/batman/Desktop/todoStack/Code Brew Labs/node_modules/xlsx/xlsx.js:20924:8)
at readSync (/home/batman/Desktop/todoStack/Code Brew Labs/node_modules/xlsx/xlsx.js:20991:69)
at Object.readFileSync (/home/batman/Desktop/todoStack/Code Brew Labs/node_modules/xlsx/xlsx.js:21005:9)
at createRetailers (/home/batman/Desktop/todoStack/Code Brew Labs/controllers/retailers.controllers.js:21:40)
at Layer.handle [as handle_request] (/home/batman/Desktop/todoStack/Code Brew Labs/node_modules/express/lib/router/layer.js:95:5)
at next (/home/batman/Desktop/todoStack/Code Brew Labs/node_modules/express/lib/router/route.js:137:13)
at Promise.all.then (/home/batman/Desktop/todoStack/Code Brew Labs/utils/fileUpload.js:94:17)

POST /零售/文件上传--毫秒--

这是我的excel https://easyupload.io/zgrcxo

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)