簡體   English   中英

使用javascript讀取Xls文件

[英]Read Xls file using javascript

我想做一個簡單的javacript函數,它可以將xls文件中的數據存儲在數組中。 我的代碼如下,但是它什么也沒有返回,有人可以幫助我嗎?

 <!DOCTYPE html> <html lang="en"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> <script> function GetData(){ var excel = new ActiveXObject("Excel.Application"); var excel_file = excel.Workbooks.Open("C:\\\\testyt.xls"); var excel_sheet = excel.Worksheets("Sheet2"); for(var i=2;i<20;i++){ var myrow = excel_sheet.Range("A"+i); //to read values in row A document.getElementById('div1').innerHTML = myrow; } } </script> <body> <form id="From1" method="post"> <div1 id="div1"> <h2></h2> </div1> <p style="font-size:150%;margin-left:200px; margin-top:60px">Read Data </p> <input type="button" onclick="GetData();"/> </form> </body> </html> </html> 

唯一支持ActiveX的瀏覽器是IE,並且僅具有非常寬松的安全設置。 IE Edge完全刪除了ActiveX。

這意味着除非在Intranet上定位IE11和更早版本,否則您將無法再使用ActiveXObject 您要么需要在服務器上進行處理,要么使用File API來讀取原始xls數據並在瀏覽器中進行處理(這並非易事!)。


在最多使用IE11的僅限IE的Intranet環境中,將安全設置調整為允許在Intranet區域中使用ActiveX,ActiveX部分可能會起作用,但是代碼中存在錯誤。 您在循環中有此行:

document.getElementById('div1').innerHTML = myrow;

......這意味着你將在第2行的內容DIV填充,然后用3排,然后ovewrite 4行的內容等的內容覆蓋它

如果要所有行的內容,則需要多個div或類似的內容:

document.getElementById('div' + i).innerHTML = myrow;

(假設div的id div2div22 。)

還要注意,如果您不打算使用jQuery,則不能包含它。 或者您可以繼續包含它,然后使用它: $("#div" + i).html(myrow);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM