2011-07-27 5 views
1

私はもう一度簡単なことをする必要がありますが、実際には私を避けています。エクスポートされたJavaScriptテーブルのデータをMS ExcelまたはCSVにエクスポート

私の会社のイントラネットサイトには、管理者や他の関係者が関連する行をすばやく見つけることができるように、javascriptフィルタが適用された大きなデータテーブルがあります。私が使用しているフィルターはhttp://tablefilter.free.fr/にあります。

私の問題は、管理者がオフラインでデータにアクセスできるように、フィルタ結果をExcelにエクスポートするボタンが必要な場合に発生します。 HTMLテーブルをExcelにエクスポートするための多くのストレートフォワードオプションがありますが、フィルタリングされた結果をエクスポートする方法を理解することができませんでした。 (注:これはイントラネットサイトは、IEを介してアクセスされる)のJavaScript表フィルタの一部としての機能があり

、GetFilteredData()は、そのアレイにフィルタリングされたデータセルおよび入力にこれらを取得し、私filteredData []といいます。この配列は、[rowindex、[value1、value2、value3 ...]]として整形されます。

この配列をExcelまたはCSVファイルにどのように取得できますか?繰り返しますが、これはIEによってのみアクセスされるので、activeXのオブジェクトとコントロールは受け入れられます。

また、私はおそらくサーバーサイドの技術を使用できないので、HTML、JavaScript、およびActiveXの範囲に限定してください。ありがとう!

答えて

2

FYI:DataTablesには、テーブルをクライアント側のcsvにエクスポートできるTableToolsという素晴らしいプラグインがあります。これは、Flashを使用して達成されます。 DataTablesのフィルタに満足しているなら、これは良い解決策になると思います。

http://www.datatables.net/extras/tabletools/

0

バージョン8からのIEを使用している場合は、data:のURLを使用できます。ちょうどURLを生成し、location.hrefを使用してborwserを指してください。 CSVのデータは、javascriptおよびbase64エンコードによって生成できます。

+0

あなたはこの例を与えることができます。私は同じアプローチを試みましたが、それはクロムでのみ動作するようです。ここに私の試みですhttp://stackoverflow.com/questions/14964035/how-to-export-javascript-array-info-to-csv-on-client-side – Sam007

-1

文字列の操作に依存するアプローチを検討するとよいでしょう。

この配列を作成したら、JSON文字列に変換できます。 (json2.js)この人気の軽量なライブラリを試してみてください:

https://github.com/douglascrockford/JSON-js

例:

text = JSON.stringify(['e', {pluribus: 'unum'}]); 
// text is '["e",{"pluribus":"unum"}]' 

あなたは、いくつかの正規表現の置換を使用することができます。この時点で

var dataString = '["rowindex",["value1","value2","value3"]]' 

のようなものを持っている必要がありますいずれかのスタイルにフォーマットする文字列に追加します。

関連する問題