Я пытаюсь извлечь первый столбец файла Excel, используя библиотеку XLSX
, используя:
var reader = new FileReader();
reader.onload = function(e) {
var data = new Uint8Array(e.target.result);
var workbook = read(data, {type:"array"});
// collect your ID's here
};
reader.readAsArrayBuffer(input.files[index]);
Но если я утешу workbook
, данные будут закодированы.
Что касается JSON, то он работал в соответствии с этим ответом :
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);
};
}
}
Но все равно не может этого сделать, если тип файла xlsx
или xls
.
Я пытался тогда:
if (e && e.length > 0) {
const file: File = e.item(0);
const reader: FileReader = new FileReader();
//reader.readAsArrayBuffer(file);
reader.onload = (e) => {
const data = reader.result as ArrayBuffer;
const workbook = new Int32Array(data);
console.log(JSON.stringify(workbook, null, ' '))
};
}
Но ничего не было утешено, и никаких ошибок не отображается.