2017-11-24 19 views
0

私はDataTableを使ってデータをテーブルとして表示します。ヘッダーの上部にいくつかのボタンがあります。 1つのボタンでデータをExcelにエクスポートできます。ただし、エクスポートされたデータは、unreadable contentのエラーのためExcelで開くことができません。 excelにエクスポートするときにこのテーブルを修正するにはどうすればよいですか?

は、いくつかのデバッグの後、私はまた、いくつかの隠されたテキストボックスを持っている、これはこの
<input type="hidden" class="note_dr_dh" value="<?php echo $row->DISPOSISI; ?>" />

から引き起こされますが、それだけで特定の隠されたテキストボックスが私の問題の原因であることがわかりました。 CSVにエクスポートすると、隠れたテキストボックスのテキストもエクスポートされ、他のテキストボックスの値は表示されないことがわかりました。私のアプリのいくつかの機能に使用されているので、削除しないでください。

私の輸出スクリプト:

$('.dataTables-example').DataTable({ 
    pageLength : 10, 
    responsive : true, 
    dom   : '<"html5buttons"B>lTfgitp', 
    buttons  : [ 
        {extend: 'copy'}, 
        {extend: 'csv', title: "Daftar_Seluruh_Surat_<?php echo $this->session->userdata('dept'); ?>"}, 
        {extend: 'excel', title: "Daftar_Seluruh_Surat_<?php echo $this->session->userdata('dept'); ?>"}, 
        {extend: 'pdf', title: "Daftar_Seluruh_Surat_<?php echo $this->session->userdata('dept'); ?>"}, 
        {extend: 'print', 
         customize: function (win){ 
          $(win.document.body).addClass('white-bg'); 
          $(win.document.body).css('font-size', '10px'); 
          $(win.document.body).find('table').addClass('compact').css('font-size', 'inherit'); 
         } 
        } 
    ] 
}); 

マイテーブル(すべてではないの列問題で一つだけ。):

<td class="text-center td_link" style="vertical-align:middle !important"> 
    <a style="text-decoration:none" class='a_surat' href='javascript:void(0)'><?php echo $row->ID_REQUIREMENT; ?></a> 
    <input type="hidden" class="id_req" value="<?php echo $row->ID_REQUIREMENT; ?>" /> 
    <input type="hidden" class="note_dr_dh" value="<?php echo $row->DISPOSISI; ?>" /> 
    <input type="hidden" class="uploaded" value="<?php echo $row->UPLOAD_IMAGE; ?>" /> 
    <input type="hidden" class="stat_memo" value="<?php echo $row->STATUS; ?>" /> 
</td> 

注(これらのヘルプの場合):

  • $row->ID_REQUIREMENT, $row->UPLOAD_IMAGE, $row->STATUS, $row->UPLOAD_IMAGE = VARCHAR
  • $row->DISPOSISI = TEXT;

答えて

0

隠しテキストボックスの後に隠されたスパンを追加してください:
<input type="hidden" class="note_dr_dh" value="<?php echo $row->DISPOSISI; ?>" /><span style="display: none;"></span>

または

あなたのDataTableスクリプトでこれを追加します。

$('.dataTables-example').DataTable({ 
    buttons: [ 
     { 
      extend: 'excel', 
      title: "Daftar_Seluruh_Surat_<?php echo $this->session->userdata('dept'); ?>", 
      exportOptions: { 
       stripHtml: false // to enable the element styling 
      }    
     }   
    ]  
}); 
+0

を、エラーがなくなっています。しかし、隠しテキストボックス内のテキストもエクスポートされます。これを避ける方法は? – ashura91

+0

テキストボックスに隠しスタイルを追加するとどうなりますか? ' –

関連する問題