excel2canvas

インデックスに戻る link to github

概要

excel2canvasはExcelファイルをWebブラウザ上で表示するためのライブラリです。

Excelファイルを解析してJSON化するためのJavaクラスと、JSONをHTML5のCanvas上に描画するためのJavaScriptから構成されています。


使い方

JavaDoc

まずJavaで対象とするExcelファイルを読み込んでJSON化します。

    ExcelToCanvasBuilder builder = new ExcelToCanvasBuilder();
    builder.setIncludeComment(true);//If need display comments.
    builder.setIncludeChart(true);//If need display charts.(Flotr2 is required.)
    builder.setIncludePicture(true);//If need display picture.
    String json = builder.build(new File("Book1.xlsx"), "Sheet1").toJson();

次に生成したJSONをHTMLに埋め込んで、div要素に対してexcelToCanvasメソッド(jQueryプラグイン)を適用します。

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
    
    <link rel="stylesheet" type="text/css" media="screen,print" href="jquery.excel2canvas.css" />
    <script type="text/javascript" language="javascript"  src="flotr2.js"></script>
    <script type="text/javascript" language="javascript"  src="jquery.excel2canvas.min.js"></script>
    <script type="text/javascript" language="javascript"  src="jquery.excel2chart.flotr2.min.js"></script>
    
    <script>
        $(function() {
        var data = ${excel.raw()};//Get the JSON string.(Template engine syntax.)
        $("#canvasHolder").excelToCanvas(data).css("width", $("#canvas").width());
    });
    </script>
    
    ...
    
    <div id="canvasHolder">
        <canvas id="canvas"></canvas>
    </div>

SlideShareにもう少し詳細な説明がアップされています。


サンプル

ExcelReportはこのライブラリを利用して作成したアプリケーションのひとつです。

登録したExcelテンプレートをブラウザ上に表示します。

以下はそのサンプルです。


最新版

ダウンロード - 1.2.0

Maven

    <repositories>
        <repository>
            <id>jp.co.flect</id>
            <name>FLECT maven repository</name>
            <url>http://flect.github.io/maven-repo/</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>jp.co.flect</groupId>
            <artifactId>excel2canvas</artifactId>
            <version>1.2.0</version>
        </dependency>
    </dependencies>

ライセンス

MIT