close
 
需求設定:
要Javascript讀取Client端的EXCEL,IE需將WinXP「啟始不標示為安全的ActiveX控制項」或Win8「將未標示成安全的ActiveX控制項初始化並執行指令碼」設為啟用或提示,才能使用ActiveX。
如設為提示,則會出現上圖中的提示訊息。如設為啟用,則不出現提示訊息,直接背景讀取excel檔。
 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
    function test1()  //讀取c:\test.xls
    {
        var excel;
        excel = new ActiveXObject("Excel.Application");
        excel.Visible = false;
        form1.TextBox1.value = excel.Workbooks.Open("C:/test.xls").ActiveSheet.Cells(1,1).Value;
        excel.Quit();
    }

 function test2()   //讀取input的檔案
 {
     if (document.getElementById("file1").value != "")
     {
         var MyFilename = (document.getElementById("file1").value).replace(/\\/ig, "/");   //將路徑反斜線轉為正斜線
         var excel;
         excel = new ActiveXObject("Excel.Application");
         excel.Visible = false;
         var DisplayValue = excel.Workbooks.Open(MyFilename).ActiveSheet.Cells(1,1).Value;
   //也可讀文字檔,Cells(1,1)為第1列,Cells(2,1)為第2列
         if (DisplayValue != null)
         {
            form1.TextBox2.value = DisplayValue;
         }
         else
         {
            form1.TextBox2.value = "";
         }
         alert(excel.Workbooks.Open(MyFilename).ActiveSheet.Cells(2,1).Value);
         excel.Quit();
      }
    }
</script>
</head>
<body bgcolor="#ffffff">
<form id="form1" enctype="multipart/form-data" method="post">

<br>
<input type="button" value="讀取c:\test.xls" onclick="test1();"></input>
<br>
<input type="text" ID="TextBox1"></input>
<br>
<hr>
<br>
<input type="file" id="file1" onchange="test2();"></input>
<br>
<input type="text" ID="TextBox2"></input>
</form>
</body>
</html>

arrow
arrow
    全站熱搜

    adamschen9921 發表在 痞客邦 留言(0) 人氣()