有人请帮忙, 我正在尝试从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;
}
答案 0 :(得分:0)
虽然我确信有人在某处编写了一个解析Excel文件的JavaSript库,但您的方法不太可行。
首先,看起来你正试图在客户端做服务器端的东西。 即使您可以使用它,它仍然只能在安装了Excel的Windows客户端上运行。
最好做这个服务器端。 如何做到这在很大程度上取决于您的服务器端开发环境。
答案 1 :(得分:0)
正如GreyBeardedGeek所提到的,你的方法非常依赖于Windows操作系统。我的建议是看看xlsx node package。
各种电子表格格式的解析器和编写器。 Pure-JS洁净室 从官方规范,相关文件和 测试文件。强调解析和编写健壮性,交叉格式 功能与统一的JS表示和ES3 / ES5兼容 浏览器兼容性回IE6。的 JS-XLSX 强>