我有一個上傳excel檔案的按鈕。
<input type="file" id="input-excel" value="Choose File" accept=".xlsx" />
下面是 HTML 中的嵌入腳本,用于讀取 excel 檔案并將其顯示在 UI 中。
<script type="text/javascript">
// read and display the records from excel file on the screen
// passing in my button id here
$('#input-excel').change(function (e) {
var reader = new FileReader();
reader.readAsArrayBuffer(e.target.files[0]);
reader.onload = function (e) {
var excelData = new Uint8Array(reader.result);
var wb = XLSX.read(excelData, { type: 'array' });
console.log(wb);
var htmlstr = XLSX.write(wb, {/* sheet: "Sheet1",*/ type: 'binary', bookType: 'html'});
$('#wrapper')[0].innerHTML = htmlstr;
};
});
</script>
@section scripts{
<script src="~/Scripts/ViewModels/RmaCreation/rmacreation.js"></script>
<script src="~/Scripts/knockout-3.2.0.js"></script>
<script language="javascript" src="~/Scripts/xlsx.full.min.js"></script>
}
我能夠在第一次迭代中上傳 excel 檔案。我可以在 UI 中查看 excel 檔案中的記錄。
但是,該按鈕在第二次迭代中變得無回應。如何在每次迭代后使此按鈕回應?
uj5u.com熱心網友回復:
https://jsfiddle.net/03ut9zjs/2/
<input type="file" id="input-excel" value="Choose File" accept=".xlsx" />
<div id="wrapper">
</div>
// read and display the records from excel file on the screen
// passing in my button id here
$('#input-excel').change(function (e) {
$('#wrapper')[0].innerHTML ="";
var reader = new FileReader();
reader.readAsArrayBuffer(e.target.files[0]);
reader.onload = function (e) {
var excelData = new Uint8Array(reader.result);
var wb = XLSX.read(excelData, { type: 'array' });
console.log(wb);
var htmlstr = XLSX.write(wb, {/* sheet: "Sheet1",*/ type: 'binary', bookType: 'html'});
$('#wrapper')[0].innerHTML = htmlstr;
};
});
您的代碼中沒有包含包裝器 div,所以我不確定您將其放置在何處/如何放置。
它似乎在這個小提琴中作業正常。你能在這里重現問題嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/454009.html
標籤:javascript html jQuery
下一篇:將['[objectHTMLCanvasElement]']陣列轉換為字串以獲取元素“id”,以便我可以在網頁上選擇特定元素
