将XLSX.js与base64一起使用

Use XLSX.js with base64

本文关键字:一起 base64 XLSX js      更新时间:2023-09-26

尝试进行

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阅读器。例如,excel解析器库同时支持".xls"answers".xlsx"格式。

我不知道你在使用什么库,但鉴于它被称为XLSX,我希望它只能解析现代的".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']
]