如何在javascript中从excel表中检索数据

时间:2018-03-08 21:39:54

标签: javascript html excel

有人请帮忙, 我正在尝试从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;
}

2 个答案:

答案 0 :(得分:0)

虽然我确信有人在某处编写了一个解析Excel文件的JavaSript库,但您的方法不太可行。

首先,看起来你正试图在客户端做服务器端的东西。 即使您可以使用它,它仍然只能在安装了Excel的Windows客户端上运行。

最好做这个服务器端。 如何做到这在很大程度上取决于您的服务器端开发环境。

答案 1 :(得分:0)

正如GreyBeardedGeek所提到的,你的方法非常依赖于Windows操作系统。我的建议是看看xlsx node package

  

各种电子表格格式的解析器和编写器。 Pure-JS洁净室   从官方规范,相关文件和   测试文件。强调解析和编写健壮性,交叉格式   功能与统一的JS表示和ES3 / ES5兼容   浏览器兼容性回IE6。的 JS-XLSX