Если вам нужно что-то быстрое и грязное (и потенциально работающее только в FF), я использую это решение JS:
function exportExcel(html) {
window.open('data:application/vnd.ms-excel;charset=utf-8,' + encodeURIComponent(
'<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=ProgId content=Excel.Sheet><style>body {font-family:Arial} .ean {mso-number-format:0000000000000;}</style></head><body><table>'+html.replace(/[♫^]/gi,'')+'</table></body></html>'));
}
А затем по ссылке в теге заголовка таблицы
<a href="#" onclick="javascript:exportExcel($(this).parents(".table1").html());">Excel</a>
Он откроется как HTML Worksheet, который мне подходит. Как видно из кода функции JS, вы можете добавлять стили к столбцам и / или заменять некоторые символы, которые вам не нужны в выводе.