我想导出动态html表格到excel在javascript中有什么方法可以做我在火狐浏览器不使用.please对象的代码帮助我
发布于 2015-11-02 16:37:06
您可以动态生成SpreadsheetDataXML格式的Excel文件,允许您在HTML语法中自定义表格、单元格样式和格式。
要在IE中工作,你需要使用Blob对象,然后调用msSaveBlob方法。对于FF和Chrome,只需将href的数据修改为data:application/vnd.ms-excel
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');
}
}
工作示例:http://jsfiddle.net/h42y4ke2/21/ YT教程:https://www.youtube.com/watch?v=gx_yGY6NHkc
发布于 2011-08-05 19:49:16
在JavaScript中没有用来创建一个真正的excel文件的库,但是你可以试着把表格导出到一个带有.xls扩展名的文件中。
发布于 2011-08-05 19:57:22
火狐有一个扩展table2clipboard。您也可以从DOM树手动生成csv输出,并让用户将其保存为csv文件。Excel可以从CSV导入。
https://stackoverflow.com/questions/6955627
复制相似问题