使用javascript读取Xls文件

时间:2015-10-23 05:02:25

标签: 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>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

唯一支持ActiveX的浏览器是IE,只有非常宽松的安全设置。 IE Edge完全删除了ActiveX。

这意味着您不能再使用ActiveXObject,除非您在Intranet上定位IE11及更早版本。您需要在服务器上进行处理,或使用File API读取原始xls数据并在浏览器中处理它(并非简单!)。

在仅使用IE11的仅限IE的Intranet环境中,如果您的安全设置已调整为允许Intranet区域中的ActiveX,则ActiveX部件可能会起作用,但您的代码中存在错误。你在循环中有这一行:

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

...这意味着您将使用第2行的内容填充该div,然后使用第3行的内容覆盖它,然后使用第4行的内容ovewrite ,等

如果你想要所有行的内容,你需要多个div或类似的东西:

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

(假设id到[{1}}到div2的div为。{/ p>

另请注意,如果您不打算使用jQuery,则无法包含它;或者您可以继续包含它,然后使用div22