Я использую лист JS для получения файла Excel по ссылке и редактирования в браузере, а затем попытки сохранить его. Мне удалось его получить, но когда я использовал функцию sheet_to_html
и установил editable
в значение true, я заметил, что внесенные мной изменения не сохраняются. Я использовал функцию table_to_book
, чтобы проанализировать данные HTML в книге, и когда я записал результаты в консоль, данные вместо этого сохраняют свое исходное значение.
my JS и HTML код для получения и отображения в HTML:
function fetchData() {
var req = new XMLHttpRequest();
req.open('GET', myUrl, true);
req.responseType = 'arraybuffer';
req.onload = function(event) {
let arraybuffer = req.response;
/* convert data to binary string */
let data = new Uint8Array(arraybuffer);
let arr = new Array();
for(let i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);
let bstr = arr.join("");
/* Call XLSX */
let workbook = XLSX.read(bstr, {type:"binary"});
console.log(workbook);
var o = XLSX.utils.sheet_to_html(workbook.Sheets[workbook.SheetNames[0]], {editable:true}).replace("<table", '<table id="data-table" border="1"')
document.getElementById('data-table').outerHTML = o;
}
req.send();
}
function saveFile(){
var tbl = document.getElementById('data-table');
var saved_wb = XLSX.utils.table_to_book(tbl);
console.log(saved_wb);
}
<table id="data-table">
</table>
<input type="submit" value="Fetch" onclick="fetchData()">
<input type="submit" value="Save" onclick="saveFile()">
Это известная ошибка в листе JS? Или мне здесь не хватает чего-то важного?