2012-02-28 205 views
0

因此,我需要能夠讀取Excel工作表並訪問單元格的值。到目前爲止,我剛剛創建了一個小演示,試圖測試我在其他地方看到的代碼,但到目前爲止,我沒有運氣。這裏的演示:如何使用javascript讀取excel單元格值

function readFile(){ 
           var excel=new ActiveXObject("Excel.Application"); 
        var excel_file = excel.Workbooks.Open("C:\\temp\\mod9.csv"); 
        var excel_sheet = excel_file.Worksheets("mod9"); 
        var data = excel_sheet.Cells(1,1).Value; 
        alert(data); 
            return data 
       } 

真的,這個演示中,我只是想看看我能拉一個值,但每當我嘗試運行此,它停在該函數的第一行。它說「ActiveXObject沒有定義。」如果您有另一種建議閱讀文件的方式,那麼我也很樂意閱讀。任何幫助,將不勝感激。

+0

你不應該在此ActiveX答覆,因爲它只能在IE中工作,再加上用戶不要安裝Excel – 2012-02-28 10:02:27

+1

ActiveXObject僅在IE上可用。您不會在其他瀏覽器上使用此代碼。 – fajran 2012-02-28 10:06:26

+0

爲什麼不把excel文件保存爲XML格式並使用XLST? – Aprillion 2012-02-29 18:43:58

回答

1

正如評論你的問題,我們不推薦使用的ActiveXObject在JavaScript中,因爲它只會在IE工作,如果你想有一個跨瀏覽器的解決方案,你將不得不採取另一種方法。不僅如此,正如@SimonWang所評論的那樣,用戶不僅需要用IE打開頁面,他還需要在他的機器上安裝Excel,否則它將無法工作。

您可以讀取服務器端的excel文件,解析數據並將其返回給javascript端,讓我們說一個ajax請求。 我不確定你的服務器端是如何實現的,但幾乎所有語言都有解決方案。例如,用php,你可以看看這個:http://php.net/manual/en/function.fgetcsv.php

0

如果你想excel電子表格,以便任何用戶可以看到它,你可以使用谷歌文件發佈爲網頁。這裏提供

說明:

http://support.google.com/docs/bin/answer.py?hl=en&answer=55244

讓我知道,如果這有助於。

編輯

對不起,我想我被你的問題混淆。

您是否考慮過使用excel功能將工作表導出爲CSV或XML並以這種方式搜索文件。

文件 - >另存爲 - > Excel工作簿,CSV,XML,Web頁(HTML)....