Экспортный файл не найден после использования функции onclick - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть функция с именем exportExcel, которая экспортирует мою таблицу в файл Excel после нажатия кнопки, кнопка работает нормально и файл распознается, но он говорит: «xxx.xls - Echec - файл не найден», есть ли у кого-нибудьисправить это пожалуйста?Вот моя функция и где я вызываю ее в моем html-файле

home.component.ts

exportExcel(table1, filename = ''){

    let downloadLink;
    let dataType ='application/vnd.ms-excel';
    let tableselect = document.getElementById('table1');
    let tableHTML = tableselect.innerHTML.replace(/ /g,'%20');

    //Filename
    filename = filename?filename+'.xls':'CPF.xls';

    //Download link element
    downloadLink = document.createElement("a");

    document.body.appendChild(downloadLink);

    if(navigator.msSaveOrOpenBlob){
      let blob = new Blob(['\ufeff', tableHTML],{
        type: dataType
      });
      navigator.msSaveOrOpenBlob(blob, filename);
    } else {
      //Link to file
      downloadLink.href = 'data' + dataType +',' +tableHTML;

      //File name
      downloadLink.download = filename;

      //Triggering function

      downloadLink.click();
    }
  }

home.component.html

<mat-tab>
      <button class="bCopy2" (click)="exportExcel('tblData')"> Export to excel</button>

      <div id="cp">
      <table id="table1">
        <thead>
        <tr>
          <td>name</td>
          <td>firstname</td>
          <td>id</td>
          <td>adress</td>
        </tr>
        </thead>
        <tbody>
        <tr>
          <td>data</td>
          <td>data</td>
          <td>data</td>
          <td>data</td>
        </tr>
        </tbody>
      </table>
      </div>
    </mat-tab>

РЕДАКТИРОВАТЬ:

Я сделал это с помощью плагина jQuery table2excel, используя эту функцию:

    $('.bCopy2').on('click', function(e){
      e.preventDefault();
      ResultsToTable();
    });

    function ResultsToTable(){
      $(".table1").table2excel({
        exclude: ".noExl",
        name: "Results"
      });
    }
  });
...