2017-06-05 18 views
0

Excelテーブルにエクスポートしようとしています。このhtmlテーブルにはいくつかの非表示のプロパティがあり、テーブルをエクスポートするときにそれらを削除したい。だから私は以下を試した。隠し要素を除いたExcelシートをExcelシートとしてエクスポート

if ('undefined' !== typeof module) { 

    module.exports = function initExport() { 
     var data_type = 'data:application/vnd.ms-excel';; 

     $('table *:hidden').attr('data-todelete', 'true'); 
     var clonedItem = $($('table').html()); 
     $('table *:hidden').removeAttr('data-todelete'); 
     clonedItem.find('*:hidden').remove(); 

     var a = document.createElement('a'); 
     a.href = data_type + ', ' + clonedItem.wrap("<div />").parent().html(); 
     a.download = 'exported_table_' + Math.floor((Math.random() * 9999999) + 1000000) + '.xls'; 
     a.click(); 

    } 
} 

エクセルはエクスポートされていますが、以下のものが含まれています。

EDITED

<thead_ngcontent-scg-0=""></thead> 

私は

a.href = data_type + ', ' + clonedItem.html().replace(/ /g, '%20'); 

の代わりに、次に

a.href = data_type + ', ' + clonedItem.html(); 

以下のExcel cantains使用して、これは私がエクスポートするHTML構造です。

 <thead _ngcontent-xbe-0=""> 
    <tr _ngcontent-xbe-0="" role="row"> 
     <th _ngcontent-xbe-0="" class="sorting_disabled" rowspan="1" colspan="1" style="width: 9px;">#</th> 
     <th _ngcontent-xbe-0="" class="sorting_disabled" rowspan="1" colspan="1" style="width: 63px;">Departure Airport</th> 
     <th _ngcontent-xbe-0="" class="sorting_disabled" rowspan="1" colspan="1" style="width: 72px;">Destination Airport</th> 
     <th _ngcontent-xbe-0="" class="sorting_disabled" rowspan="1" colspan="1" style="width: 56px;">Modified Time</th> 
     <th _ngcontent-xbe-0="" class="sorting_disabled" rowspan="1" colspan="1" style="width: 69px;">Availability</th> 
     <th _ngcontent-xbe-0="" class="sorting_disabled" rowspan="1" colspan="1" style="width: 54px;">Duration</th> 
     <th _ngcontent-xbe-0="" class="sorting_disabled" rowspan="1" colspan="1" style="width: 63px;">Departure Date</th> 
     <th _ngcontent-xbe-0="" class="sorting_disabled" rowspan="1" colspan="1" style="width: 24px;">Pax</th> 
     <th _ngcontent-xbe-0="" class="sorting_disabled" rowspan="1" colspan="1" style="width: 33px;">Total Price</th> 
     <th _ngcontent-xbe-0="" class="sorting_disabled" rowspan="1" colspan="1" style="width: 48px;">Time(Hours)</th> 
     <th _ngcontent-xbe-0="" class="sorting_disabled" rowspan="1" colspan="1" style="width: 47px;">Expired Time</th> 
     <th _ngcontent-xbe-0="" class="sorting_disabled" rowspan="1" colspan="1" style="width: 59px;">Last Possible Price Changed Time</th> 
    </tr> 
</thead> 

<tbody _ngcontent-xbe-0=""> 

    <tr _ngcontent-xbe-0=""> 
     <td _ngcontent-xbe-0="">1</td> 
     <td _ngcontent-xbe-0="">ASD</td> 
     <td _ngcontent-xbe-0="">ABC</td> 
     <td _ngcontent-xbe-0="">2017-06-05 12:34:44</td> 
     <td _ngcontent-xbe-0="" style="text-align: center;">true</td> 
     <td _ngcontent-xbe-0="" style="text-align: center;">13</td> 
     <td _ngcontent-xbe-0="">2017-07-31</td> 
     <td _ngcontent-xbe-0="">1_0_0</td> 
     <td _ngcontent-xbe-0="" style="text-align: right;">143.01</td> 
     <td _ngcontent-xbe-0="" style="text-align: right;">1.00</td> 
     <td _ngcontent-xbe-0="" style="text-align: center;">2017-06-05 13:34:44</td> 
     <td _ngcontent-xbe-0="" style="text-align: center;">2017-06-05 12:34:44</td> 
    </tr> 

    <!--data--> 


</tbody> 

ご了承ください。

は、私は本当にあなたのdata-todeleteを得ることはありません、あなたはそれを使用していないようですあなたに

答えて

0

ありがとうございます。

.clone() jQueryの機能を使用してみてください:

if (module != null) { 

    module.exports = function initExport() { 
     var data_type = 'data:application/vnd.ms-excel';; 

     $('table *:hidden').attr('data-todelete', 'true'); 
     var clonedItem = $('table').clone(); 
     $('table *:hidden').removeAttr('data-todelete'); 
     $('[data-todelete]',clonedItem).remove(); 

     var a = document.createElement('a'); 
     a.href = data_type + ', ' + clonedItem.html(); 
     a.download = 'exported_table_' + Math.floor((Math.random() * 9999999) + 1000000) + '.xls'; 
     a.click(); 

    } 
} 

私はXLSファイルにテーブルを保存するために自分自身の機能をテストし、それはあなたのテーブル構造と正常に動作します:https://jsfiddle.net/0qt01rmw/1/

+0

その後、Excelが含まれていますhtmlコードは** ... ** – Rose18

+0

エクスポートしたいテーブルのHTML構造を表示できますか? – Zenoo

+0

私の編集した質問を確認してください – Rose18

関連する問題