与base64一起使用XLSX.js
试过了
var work = XLSX.readFile("D:\\sched.xls"); //var XLSX = <XLSX>require('xlsx');
但是我相信我遇到了这个问题所描述的问题。
https://github.com/stephen-hardy/xlsx.js/issues/11
编辑开始发现我实际上是使用不同的库,然后我发现问题列出。
https://github.com/SheetJS/js-xlsx/issues/135编辑结束
解决方法是“使用base64编码读取文件,然后将其传递给xlsx”。
var fileRead = fs.readFileSync("D:\\sched.xls"); var base64 = fileRead.toString('base64'); //The workaround seems to be talking about some xlsx function? //even .read doesn't seem to be thing based on my typescript binding. var workbook = XLSX.read(base64); //to use read switch: // var XLSX = <XLSX>require('xlsx'); // var XLSX = require('xlsx')
所以我很确定我已经阅读了使用base64编码的文件,我如何将它传递到xlsx.js
您需要使用支持“.xls”格式的Excel阅读器。 例如, excelparsing器库支持“.xls”和“.xlsx”格式。
我不知道你使用的是什么库,但是由于它被称为XLSX
,我期望它只能parsing现代的“.xlsx”格式而不是旧的“.xls”格式(而你的文件有一个“.xls”延期)。
var excelParser = require('excel-parser'); excelParser.worksheets({ inFile: 'D:\\sched.xls' }, function(err, worksheets){ if(err) { console.error(err); } console.log(worksheets); });
会给你这种格式的输出:
[ ['ID', 'Name', 'Location'], ['1757491', 'Travis', 'Philadelphia'], ['75525', 'Steve', 'UK'] ]