0

jquery を使用して HTML テーブルの内容を IE の Excel にエクスポートしようとしています。これについて議論する多くのスレッドがあることを認識しています。しかし、それらはすべて次のコードのいずれかを指定しています。

var ExcelApp = new ActiveXObject("Excel.Application");
var ExcelSheet = new ActiveXObject("Excel.Sheet");
ExcelSheet.Application.Visible = true;

またはこれ:

  window.open('data:application/vnd.ms-excel,' + encodeURIComponent($('#dataTable').html()));

最初のものは IE で動作しますが、IE のデフォルトのセキュリティ設定に反するため、ActiveX オブジェクトを使用したくありません。2 つ目は IE では機能しません。jQueryまたはJSを使用して、このクライアント側を実行したいと考えています。

4

1 に答える 1

1

HTML テーブルに id="exportTable" があると仮定しましょう

次を使用して、テーブルをxlsファイルにエクスポートできます。

window.open('data:application/vnd.ms-excel,' + $('#exportTable').html());

アプリケーションを開くか、ブラウザ内からファイル システムに書き込もうとしています。つまり、デフォルトのセキュリティ設定でそれが許可されない場合、セキュリティ設定を変更するか (オプションではないと思います)、たとえば Chrome でこれを試す (おそらくオプションではないかもしれません) 以外に、それを回避する方法はありません。私のためにうまく働いています。

ブラウザーからのファイル システムへの書き込みは、既定では許可されていません。ご想像のとおり、正当な理由があります。

別の方法として、テーブル データを使用して新しい Google Docs スプレッドシートを作成する可能性を調査することもできます。これにどのようにアプローチできるかを説明している興味深い記事を見つけましたが、これについては経験がありません。

于 2013-03-19T09:10:05.053 に答える