Проблема с js-xlsx, когда у меня есть таблица внутри другой таблицы - PullRequest
0 голосов
/ 03 сентября 2018

У меня проблема. У меня есть два стола (один внутри другого)

 <table>
        <thead>
            <th>title 1</th><th>title 2</th>
        </thead>
        <tbody>
            <tr>
                <td>colum1</td>
                <td>colum2</td>
            </tr>
            <tr>
              <table>
                  <thead>
                    <th>title 1</th><th>title 2</th>
                 </thead>
                 <tbody>
                    <tr><td>Colum1 table 2 </td></tr>
                 </tbody>
              </table>
            </tr>
       </tbody>
   </table>

Как то так. Моя проблема, когда я извлекаю эти таблицы в xls, используя js-xlsx. Вторую таблицу экспортируют дважды, первый экспортируют только в одну строку, а во втором приятно. Я хочу удалить первый экспорт.

Это мой код JS

  var elt = document.getElementById(dataId);

  elt = elt.cloneNode(true);

   var workbook = XLSX.utils.book_new();
   if (dataId == 'distributorInfoTable'){

   for(var i = elt.rows.length - 1; i > 0; i--) {
       var rowToDelete = elt.rows[i].getElementsByTagName('distributorsTable')[0];

        elt = elt.cloneNode(true);

        var workbook = XLSX.utils.book_new();
        if (dataId == 'distributorInfoTable'){
           for(var i = elt.rows.length - 1; i > 0; i--)                {
             var rowToDelete = elt.rows[i].getElementsByTagName('distributorsTable')[0];

             rowToDelete = rowToDelete.cloneNode(true);

             var filmName =  elt.rows[i].getElementsByTagName('td')[0];
             filmName = $(filmName).attr('filmName');
             filmName = filmName.substring(0,31);
             var wb = XLSX.utils.table_to_sheet(rowToDelete);
             XLSX.utils.book_append_sheet(workbook, wb, filmName);
             $(elt.rows[i].getElementsByTagName('table')).remove();

         }

         var wb = XLSX.utils.table_to_sheet(elt);
         XLSX.utils.book_append_sheet(workbook, wb, "Resumen ");
         XLSX.write(workbook, {bookType:'xlsx', bookSST:true, type: 'base64'});
          XLSX.writeFile(workbook, reportName+'.xlsx');
}

Кто-нибудь может мне помочь ??

...