angularjsを使用してxlsにエクスポートする 質問する

angularjsを使用してxlsにエクスポートする 質問する

私は Angular JS アプリに取り組んでいますが、Angular JS を使用してデータを Xls にエクスポートしなければならない状況に陥っています。インターネットでエクスポート機能や Angular JS のライブラリを検索して、それを実行できるか、少なくともエクスポート方法のアイデアを得ることができました。ここで示すコードや作業はありません。

オブジェクトの配列であるデータがあり、それをテーブル内の UI で反復しています。バックエンドは node.js で、フロントエンドは Angular js です。

私の問題は、サーバーからデータを取得して UI で使用している場合、同じデータを Angular JS を使用して Xls にエクスポートするにはどうすればよいかということです。バックエンドで再度呼び出してデータを抽出し、エクスポートしたくありません。

既存のテーブルでは、ユーザーはチェックボックス (任意の行数またはすべての行) を選択してデータを Xls に抽出できます。

node.js では、Excel という名前のノード モジュールを使用しました。これは nodemodules サイトで入手できます。

私のデータは次のようになります:

"data": [
    {
        "Name": "ANC101",
        "Date": "10/02/2014",
        "Terms": ["samsung", "nokia": "apple"]
    },{
        "Name": "ABC102",
        "Date": "10/02/2014",
        "Terms": ["motrolla", "nokia": "iPhone"]
    }
]

angularjs または任意の angularjs ライブラリを使用したソリューションが必要です。

ベストアンサー1

これを安価に行う方法は、Angularを使用して生成し<table>ファイルセーバー.jsユーザーがダウンロードできるように、テーブルを .xls ファイルとして出力します。Excel では、HTML テーブルをスプレッドシートとして開くことができます。

<div id="exportable">
    <table width="100%">
        <thead>
            <tr>
                <th>Name</th>
                <th>Email</th>
                <th>DoB</th>
            </tr>
        </thead>
        <tbody>
            <tr ng-repeat="item in items">
                <td>{{item.name}}</td>
                <td>{{item.email}}</td>
                <td>{{item.dob | date:'MM/dd/yy'}}</td>
            </tr>
        </tbody>
    </table>
</div>

エクスポート呼び出し:

var blob = new Blob([document.getElementById('exportable').innerHTML], {
        type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"
    });
    saveAs(blob, "Report.xls");
};

デモ:http://jsfiddle.net/TheSharpieOne/XNVj3/1/

チェックボックス機能と質問のデータを含むデモを更新しました。デモ:http://jsfiddle.net/TheSharpieOne/XNVj3/3/

おすすめ記事