在js中读取xlsm文件
Posted
技术标签:
【中文标题】在js中读取xlsm文件【英文标题】:read xlsm file in js 【发布时间】:2021-07-22 12:00:02 【问题描述】:我正在使用以下代码在 javascript 中读取 xlsx 文件:
this.parseExcel = function (file, id)
var reader = new FileReader();
reader.onload = function (e)
var data = e.target.result;
var workbook = XLSX.read(data,
type: 'binary'
);
var template_row_object = XLSX.utils.sheet_to_csv(workbook.Sheets['Template']);;
reader.onerror = function (ex)
console.log(ex);
;
reader.readAsBinaryString(file);
;
;
代码对于 xlsx 文件工作正常,但我想使用相同的代码来读取 xlsm 格式。
【问题讨论】:
【参考方案1】:不鼓励使用readAsBinaryString
(它曾经被删除,但为了向后兼容而恢复)。事实上,FileReader
的漏洞现在是遗留的,现在有了新的基于 Promise 的 blob 读取方法。
this.parseExcel = async function (file, id)
const uint8 = new Uint8Array(await file.arrayBuffer())
const workbook = XLSX.read(uint8, type: 'array' )
const template_row_object = XLSX.utils.sheet_to_csv(workbook.Sheets.Template)
它可能无法回答您的问题,但我猜 xlsm 是 XLSX 不支持的不同格式。
【讨论】:
以上是关于在js中读取xlsm文件的主要内容,如果未能解决你的问题,请参考以下文章
尝试读取 .xlsm 文件时出现 java.lang.NoSuchMethodError