因此,我正在尝试使用此处显示的 js-xlsx 库读取 Excel 文件(特别是 .xlsx) 。不过,我一定是在安装的某个地方搞砸了,因为我无法访问对库进行任何操作所必需的“XLSX”对象。
具体来说,我尝试将带有 src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.10.5/xlsx.full.min.js" 的脚本添加到我的 HTML 页面。当这不起作用时,我使用 node 手动安装了库并使用了 src="js/node_modules/xlsx/dist/xlsx.full.min.js"。两者都不起作用;每当我尝试在我的 javascript 中使用该库时,我仍然会收到“未定义全局变量 'XLSX'”。
我有一种感觉,我错过了一些基本的东西,但我不知道是什么。我究竟做错了什么?
编辑:这是我用来打开 Excel 文件的代码。
function handleDrop(e) {
e.stopPropagation();
e.preventDefault();
var files = e.dataTransfer.files;
var i,f;
alert("a");
for (i = 0; i != files.length; ++i) {
f = files[i];
var reader = new FileReader();
var name = f.name;
reader.onload = function(e) {
var data = e.target.result;
alert("b");
var workbook;
if(rABS) {
/* if binary string, read with type 'binary' */
workbook = XLSX.read(data, {type: 'binary'});
} else {
/* if array buffer, convert to base64 */
var arr = fixdata(data);
workbook = XLSX.read(btoa(arr), {type: 'base64'});
}
/*
* console.log(XLSX.utils.sheet_to_json(ws, {header:1}));
*/
alert("henlo world");
};
if(rABS) reader.readAsBinaryString(f);
else reader.readAsArrayBuffer(f);
}
}
没有任何警报响起,并且“XLSX”变量被标记为未声明。