2013-05-19 27 views
11

Excelファイルからグラフ(棒グラフ、曲線)を生成する簡単なアプリケーションを作成するように友人に依頼しました。すでに強力なchart.jsを知っているので、私はJavaScriptを言語として使用することを選択しました。ただし、chart.jsを使用する前に、Excelファイルからデータを収集する必要があります。では、JavaScript経由でExcelファイルを読む方法は?JavaScript(ActiveXObjectなし)でExcelファイルを読む方法

いくつかの調査の後、私は(ActiveXを使用して)Internet Explorerでこれを行うことができましたが、私はそれをブラウザ間で動作させる必要があります。

+1

私は、正直にJavaScriptでこれを行うよりも、サーバーをセットアップする方法を彼に説明する方が簡単だと思います。単にXAMPPをダウンロードするように教えてください。本当に簡単ではありません...あるいは、単にCSVに書き出すことができます。 – elclanrs

+0

Javascriptでこれを行うことは不可能です。 Excelファイルは非常に複雑なファイルで、Excelの外部に表示するためにデータを取り出すことは非常に複雑です。 Excelがクライアントマシンに存在する場合は、ExcelファイルをダウンロードしてExcelで開き、Excel内にグラフを表示するだけです。 – xxbbcc

+0

Excelのチャートで何が間違っていますか?彼らがウェブベースのチャートを必要としない限り(おそらくウェブサーバを持っていないのではないでしょうか?)、Excelを使ってチャートを使うのはずっと簡単です。 – NickSlash

答えて

-1

私はActiveXを使用しないとあなたはExcelファイルを読むことができないと思う。私はあなたがcan notがExcelファイルなしでファイルを読み込むことはできないと言いますが、方法はありますか?ここでは、その後のActiveXを使用して読み取ることは、Excelが

<input type="button" id="btnSubmit" onclick="readdata(1, 2)" value="Submit" /> 
<script> 
var xVal = 1; 
var yVal = 2 

    function readdata(x,y) { 
     x = xVal; 
     y = yVal; 
     try { 
      var excel = new ActiveXObject("Excel.Application"); 
      excel.Visible = false; 
      var excel_file = excel.Workbooks.Open("D:\\Test.xls");// alert(excel_file.worksheets.count); 
      var excel_sheet = excel_file.Worksheets("Sheet1"); 

      for(i=0;i<5;i++) 
      { 
       var data = excel_sheet.Cells(i,2).Value; 
       drawWithexcelValue(data); 
      } 


     } 
     catch (ex) { 
      alert(ex); 
     } 

</script> 

ファイル読み込みに使用できるコードがあり

9

...それが唯一のIE 9で実行され、上記の、そしてあなたが設定からのActiveX機能を有効にする必要があります純粋なJavaScriptでXLS & XLSXを解析できるJavaScriptライブラリです。私はChromeでテストしましたが(Windowsでも)、正常に動作しました。

4

JavaScriptでExcelファイルを読み込む代わりに、Funfun Excelアドインの助けを借りてExcelでJavaScriptを直接使用することもできます。基本的に、FunfunはExcelでJavaScriptを使用できるようにするため、Chart.jsなどのライブラリを使用してスプレッドシートのデータからグラフをプロットすることができます。

基本的に、何をする必要がある

1)です。挿入funfun一世アドインオフィスからアドインストア

enter image description here

2)。は)新しいfunfun一世を作成するか、またはfunfun一世オンラインエディタから

enter image description here

3をサンプルをロードします。他のJavaScriptエディタと同様にJavaScripコードを記述します。このステップでは、スプレッドシートから直接データを使用するために、Excelセル参照を作成するためにJSON I/Oを記述する必要があります。この値が入っている場所はです。設定短くしかし、これは数行に過ぎません。たとえば、スプレッドシートに次のようなデータがあるとします。平均時間はセルA1にあります。この場合

Average hours Jan Feb Mar Apr 
Baby Jones  93.5 81 94.5 95.5 
Joanne Jones  91.5 90 88.5 85.5 

、JSON I/O値は以下のようになります。

{ 
    "months": "=C6:G6", 
    "manager1": "=C7:G7", 
    "manager2": "=C8:G8" 
} 

あなたはより多くの説明のためのfunfun一世documentationをチェックすることができます。

4)。グラフをプロットするコードを実行

FunfunオンラインエディタでJavaScript(Chart.js)とExcelデータを使用して作成したサンプルチャートです。あなたは下のリンクでそれを確認することができます。また、ステップ2で説明したようにExcelに簡単に読み込むこともできます。

https://www.funfun.io/1/edit/5a365e7c74efa7334ff272a6

開示:私はfunfun一世からの開発者です。

関連する問題