2015-06-24 3 views
3

Я использовал функцию JavaScript от this question и попытался адаптировать ее к моему приложению. Это работает, но это также может быть улучшена, и я надеюсь, вы поможете мне сделать этоВозможно ли улучшить экспорт таблицы html в xls

Это функция

function exportExcelReport(tblId) { 
    var tab_text = "<table border='2px'><tr>"; 
    var table = document.getElementById(tblId); 

    var style; 
    for (var j = 0; j < table.rows.length; j++) { 
     style = table.rows[j].className.split(" "); 
     if (style.length < 2) 
     tab_text = tab_text + table.rows[j].innerHTML + "</tr>"; 
    } 

    tab_text = tab_text + "</table>"; 
    tab_text = tab_text.replace(/<a[^>]*>|<\/a>/g, ""); 
    tab_text = tab_text.replace(/<img[^>]*>/gi, ""); 
    tab_text = tab_text.replace(/<input[^>]*>|<\/input>/gi, ""); 

    return window.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text)); 
} 

Это как таблица выглядит Table html

Это то, что Я получаю в результате после экспорта enter image description here

Как вы можете видеть, экспортированный файл excel не имеет сетки на заднем плане, что на самом деле выглядит странно. Есть ли у вас какие-либо идеи, почему это происходит?

Также я хотел бы удалить последний столбец, следующий после начала года. Как-то можно отрегулировать tab_text.replace (...) в коде abowe, чтобы его можно было игнорировать при экспорте.

Колонка выглядит в HTML

</td><td width='20px'> 
    <a class='infobox' href=''> 
     <img src='img/info.jpg' alt='info' width='18' height='18'> 
     <span> 
      Service Engineer: ... <br> 
      Datasource: ... 
     </span> 
    </a> 
</tr> 

Thx заранее!

ответ

0

да мы можем это сделать JQuery.

Пример:

http://www.jqueryscript.net/demo/Export-Html-Table-To-Excel-Spreadsheet-using-jQuery-table2excel/

+0

Пожалуйста, не оставляйте ссылки в качестве ответа. В будущем этот ответ может быть неактуальным, если ссылка будет изменена. Отправьте код, относящийся к решению проблемы OP из ссылки. И включите ссылку в качестве ссылки. –

+0

Я уже пытался реализовать эту функцию с помощью table2excel lib, но для меня это не сработало. Я написал об этом в одном из моих предыдущих [вопросов] (http://stackoverflow.com/questions/30189310/table2excel-plugin-does-not-work). – amsalk

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