html таблица для экспорта с использованием javascript - PullRequest
0 голосов
/ 19 апреля 2020

У меня есть таблица в HTML, например:

<table id="prehledPlatidel" class="table table-hover">

      <tr>
<th title="Zařízení na kterém účtenka vznikla.">Zařízení</th>  
<th title="Název platidla.">Platidlo</th>
  <th title="Přijato celkem.">Celkem</th>         
</tr>
<tbody>
<?php 
 $sumaCelkemZaklad = 0;
 while ($dataPlatidla = $vysledek->fetch_assoc()) {
  $sumaCelkemZaklad = $sumaCelkemZaklad + $dataPlatidla['SumaCelkemZaklad'];  
echo('<tr>
     <td>' . $dataPlatidla['Zarizeni']. ' </td>
     <td>' . $dataPlatidla['Platidlo'].'</td>
     <td>' . number_format($dataPlatidla['SumaCelkem'],2,',', ' '). ' ' .$dataPlatidla['Zkratka'].'</td>
     </tr>'
);
}
echo ('
<tr><td><b>Celkem v základní měně</b></td><td></td>
     <td><b>' .number_format($sumaCelkemZaklad,2,',', ' ').   ' Kč</b></td></tr>
</tbody></table>



<script type="text/javascript">//<![CDATA[
function fnExcelReport() {
  var tab_text = '<html xmlns:x="urn:schemas-microsoft-com:office:excel">';
  tab_text = tab_text + '<head><meta charset="UTF-8" /><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>';

  tab_text = tab_text + '<x:Name>Platidla</x:Name>';

  tab_text = tab_text + '<x:WorksheetOptions><x:Panes></x:Panes></x:WorksheetOptions></x:ExcelWorksheet>';
  tab_text = tab_text + '</x:ExcelWorksheets></x:ExcelWorkbook></xml></head><body>';

  tab_text = tab_text + "<table border='1px'>";
  tab_text = tab_text + $('#prehledPlatidel').html();
  tab_text = tab_text + '</table></body></html>';

  var data_type = 'data:application/vnd.ms-excel';

  var ua = window.navigator.userAgent;
  var msie = ua.indexOf("MSIE ");

  if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {
      if (window.navigator.msSaveBlob) {
          var blob = new Blob([tab_text], {
              type: "application/csv;charset=utf-8;"
          });
          navigator.msSaveBlob(blob, 'PPlatidel<?php echo('PPlatidel_'.$nazevZarizeni.'_'.$datumOd.'-'.$datumDo);?>.xls');
      }
  } else {
      $('#test').attr('href', data_type + ', ' + encodeURIComponent(tab_text));
      $('#test').attr('download', '<?php echo('PPlatidel_'.$nazevZarizeni.'_'.$datumOd.'-'.$datumDo);?>.xls');
  }

}
//]]></script>

все выглядит хорошо, файл xls загружается, но когда я пытаюсь открыть его в Excel 2010, появляется сообщение об ошибке, что файл находится в другой формат, то есть суффикс (xls). После подтверждения диалога данные будут отображаться в порядке. Спасибо за помощь. M.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...