簡體   English   中英

如何從JavaScript中的Excel工作表中檢索數據

[英]how to retrieve data from excel sheet in javascript

有人需要幫助,我正在嘗試從Excel文件中獲取匹配的特定記錄以顯示在網頁上。 Excel文件在主機服務器上。 這是代碼,我不確定問題出在哪里。

<input name="searchPhrase" type="text" /> <a href="javascript: searchExcel();" style="padding: 1px 5px; border: 1px solid black; font-variant: small-caps; background: #efefef; width: 50px; text-decoration: none; color: black; margin-left: 10px;">Search</a>
<script type="text/javascript">
function searchExcel() {
    var searchPhrase = document.getElementById('searchPhrase').value;
    var Worksheet = 'https://19953.sites.ecatholic.com/documents/2018/3/SF2017.xls';
    var Excel = new ActiveXObject('Excel.Application');

    Excel.Visible = false;
    var Excel_file = Excel.Workbooks.Open(Worksheet, null, true, null, null, null, true, null, null, false, false, null, null, null);

    var range = Excel_file.ActiveSheet.Range('A:A');
    var jsRangeArray = new VBArray(range.Value).toArray();

    var found = false;
    for (cells in jsRangeArray) {
        if (jsRangeArray[cells] == searchPhrase) {
            document.getElementById("results").innerHTML = "Found";
            found = true;
        }
    }

    if (found == false) {
        document.getElementById("results").innerHTML = "Not Found";
    }

    Excel.ActiveWorkbook.Close(true);
    Excel.Application.Quit();
    Excel = null;
}

雖然我可以肯定有人在某個地方編寫了可解析Excel文件的JavaSript庫,但您的方法不太可行。

首先,您似乎正在嘗試在客戶端中做服務器端的工作。 即使您可以使用它,它也仍然只能在安裝了Excel的Windows客戶端上運行。

最好在服務器端執行此操作。 該如何做很大程度上取決於您的服務器端開發環境。

正如GreyBeardedGeek提到的那樣,您的方法非常依賴Windows操作系統。 我建議您看一下xlsx節點包

各種電子表格格式的解析器和編寫器。 來自正式規范,相關文檔和測試文件的Pure-JS無塵室實施。 強調解析和編寫健壯性,具有統一JS表示形式的跨格式功能兼容性以及回到IE6的ES3 / ES5瀏覽器兼容性。 js-xlsx

暫無
暫無

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

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