VelocityテンプレートにHTMLテーブルがあります。すべてのブラウザーと互換性のあるjavaスクリプトまたはjqueryのいずれかを使用して、htmlテーブルデータをExcelにエクスポートする必要があります。以下のスクリプトを使用しています
<script type="text/javascript">
function ExportToExcel(mytblId){
var htmltable= document.getElementById('my-table-id');
var html = htmltable.outerHTML;
window.open('data:application/vnd.ms-excel,' + encodeURIComponent(html));
}
</script>
このスクリプトはMozilla Firefoxで正常に機能し、Excelのダイアログボックスでポップアップ表示され、開くまたは保存するオプションを要求します。しかし、Chromeブラウザーで同じスクリプトをテストしたところ、期待どおりに機能しません。ボタンをクリックしても、Excelのポップアップはありません。データは「ファイルタイプ:ファイル」のファイルにダウンロードされ、.xlsなどの拡張子 はありません。Chromeコンソールにエラーはありません。
Jsfiddleの例:
http://jsfiddle.net/insin/cmewv/
これはMozillaでは正常に機能しますが、Chromeでは機能しません。
Chromeブラウザテストケース:
最初の画像:[Excelにエクスポート]ボタンをクリックします
そして結果: