我正在尝试上传excel文件,其中第一列是ID列。
我需要获取所有ID并将它们保存到一个数组中,以便以后使用它们进行数据管理。
我正在使用XLSX库:
…
您应该让图书馆决定如何阅读工作簿,而不是像阅读文本一样阅读它。
我目前无法测试这个,但它可能看起来像这样,使用数组缓冲区:
var reader = new FileReader(); reader.onload = function(e) { var data = new Uint8Array(e.target.result); var workbook = XLSX.read(data, {type:"array"}); // collect your ID's here }; reader.readAsArrayBuffer(input.files[index]);
这个答案适用于.csv文件:
<input id="file" type="file" accept=".csv" (change)="fileUpload($event.target.files)">
fileUpload(files) { if (files && files.length > 0) { const file: File = files.item(0); const reader: FileReader = new FileReader(); reader.readAsText(file); reader.onload = (e) => { const res = reader.result as string; // This variable contains your file as text const lines = res.split('\n'); // Splits you file into lines const ids = []; lines.forEach((line) => { ids.push(line.split(',')[0]); // Get first item of line }); console.log(ids); }; } }