2016-08-24 4 views
-1

Я использую следующий код для извлечения html-данных в Excel. Когда я нажимаю ссылку для загрузки, он загружает файл excel, но его пробел и не содержит никаких данных. Размер загружаемого файла - 1 КБ. Кто-нибудь сталкивался с проблемой ?Данные таблицы HTML Экспорт в Excel

<!DOCTYPE html> 
    <html> 
    <head> 
    <meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8"> 
    <meta charset="UTF-8" /> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script> 
    <script lang="js"> 
     function fnExcelReport() { 
      var tab_text = '<html xmlns:x="urn:schemas-microsoft-com:office:excel">'; 
      tab_text = tab_text + '<head><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>'; 

      tab_text = tab_text + '<x:Name>Test Sheet</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 + $('#myTable').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, 'Test file.xls'); 
       } 
      } else { 
       $('#test').attr('href', data_type + ', ' + encodeURIComponent(tab_text)); 
       $('#test').attr('download', 'Test file.xls'); 
      } 

     } 
    </script> 
</head> 
<body> 
    <a href="#" id="test" onClick="javascript:fnExcelReport();">download</a> 

    <table id="myTable"> 
     <thead> 
      <tr> 
       <td style="padding-right: 30px;"><b>Name</b> 

       </td> 
       <td style="padding-right: 30px;"><b>Age</b> 

       </td> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td>Tester1</td> 
       <td>30</td> 
      </tr> 
      <tr> 
       <td>Tester2</td> 
       <td>29</td> 
      </tr> 
      <tr> 
       <td>Tester3</td> 
       <td>17</td> 
      </tr> 
     </tbody> 
    </table> 
</body> 
</html> 

ответ

0

Нет загруженный первенствуют не является пустым, то есть данные, которые в переменном «tab_text», открытия попытки превзойти файл с помощью блокнота. и какие данные вы хотите сохранить в Excel? сохраните его как строки «\ n» и столбцы с «,» разделены.

+0

Я хочу, чтобы данные таблицы html отображались в excel, как только я открою загруженное excel. Не могли бы вы рассказать мне, как я могу это сделать? –

Смежные вопросы