2015-02-10 49 views
-1

我有一個很棒的excel文件,我想在我的網站上顯示數據。我製作了一個matlab和一個Java程序(腳本),可以從excel文件中提取我想要的信息。我如何獲得數據到網站?從網站上的大型Excel文件中提供數據的最佳方式

我應該在服務器上運行matlab或java腳本,然後創建一個以某種方式連接到服務器的JavaScript?我將如何做到這一點?

或者應該做一個javascript,直接讀取excel文件?

我在Web開發初學者,所以我真的不知道從哪裏開始...

+0

呃,最簡單的就是導出爲CSV格式,並從中導出。 – Shahar 2015-02-10 17:36:38

+0

@Shahar然後製作一個JavaScript來讀取它? – lijas 2015-02-10 17:48:58

+0

用戶應該怎麼做?只讀過它?導入他們的Excel並使用它? – jHilscher 2015-02-10 17:57:14

回答

0

我碰巧做這樣的事情,而我不得不分析我給的分數。我所做的是將Excel工作表導出爲CSV格式,然後將其放到一個網站中,我使用JavaScript將其轉換爲JSON。這是我用來執行轉換的功能:

function csvJSON(csv){ 
    var lines=csv.split("\n"); 

    var result = []; 

    var headers=lines[0].split(","); 

    for(var i=1;i<lines.length;i++){ 

     var obj = {}; 
     var currentline=lines[i].split(","); 

     for(var j=0;j<headers.length;j++){ 
      obj[headers[j]] = currentline[j]; 
     } 
     result.push(obj); 
    } 

    //return result; //JavaScript object 
    return JSON.stringify(result); //JSON 
} 

然後它很簡單。使用。比方說,我把一個textarea導出CSV,例如:

Name,Grade1,Grade2 
Bobby,87,12 
Rakesh,9,3 
//... 

然後我打電話csvJSON()這個數據得到:

[{"Name":"Bobby","Grade1":87,"Grade2":12},{"Name":"Rakesh","Grade1":9,"Grade2":3},/*...*/] 

這是特別好用。例如:

var csv = ""; // get it from somewhere 
var json = JSON.parse(csvJSON(csv)); 
for (int i = 0; i < json.length; i++) 
{ 
    var obj = json[i]; 
    var name = obj.Name, Grade1 = obj.Grade1, Grade2 = obj.Grade2; 
    //Do something 
} 
+1

用split(「,」)解析CSV並不是最好的想法,如果字段中有文字逗號,解析器將會混亂。您可能希望找到爲您正在使用的語言編寫的CSV解析器。谷歌搜索「js csv解析器」返回了很多例子。 – 2015-02-10 18:00:32

+0

@Wiscocrew確定他能找到更好的東西,但我不認爲Excel會在CSV中輸出文字逗號。 – Shahar 2015-02-10 18:01:59

+0

這看起來像我需要的東西。謝謝。所以有一個服務器的JavaScript調用一個Java/matlab腳本是矯枉過正? – lijas 2015-02-10 18:09:56

相關問題