数据表导出到CSV和Excel文件扩展名丢失

时间:2015-09-17 15:40:00

标签: datatables export-to-excel export-to-csv

我遵循了以下example。但是,每当我点击CSV和Excel文件导出按钮时,我只会得到一个没有扩展名的文件。我的最终用户手动添加文件扩展名会很麻烦,所以我想知道是否有需要修复的东西。我已经阅读了示例中的源代码,但我没有发现任何不同的东西。创建表的源代码非常简单。

$('#example').DataTable( {
    dom: 'Bfrtip',
    buttons: [
        'copy', 'csv', 'excel', 'pdf', 'print'
    ]
} );

非常感谢你的帮助。

2 个答案:

答案 0 :(得分:3)

我发现我需要在表格代码中添加标题和扩展选项。如果缺少任何一个,我会得到一个没有相应扩展名的文件。

$('#example').DataTable( {
    dom: 'Bfrtip',
    buttons: [
        'copy', 
        {
            extend: 'csv',
            text: 'csv',
            extension: '.csv',
            exportOptions: {
                modifier: {
                    page: 'current'
                }
            },
            title: 'table'
        }, 
        'pdf', 
        'print',
        {
            extend: 'excel',
            text: 'excel',
            extension: '.xlsx',
            exportOptions: {
                modifier: {
                    page: 'current'
                }
            },
            title: 'table'
        }
    ]
} );

答案 1 :(得分:0)

解决方案,

 "aButtons": [
                {
                "oSelectorOpts": { filter: 'applied', order: 'current' },
                "sExtends": "copy",
                "sButtonText": "Copiar en Portapapeles"
                },
                {
                    "oSelectorOpts": { filter: 'applied', order: 'current' },
                    "sExtends": "xls",
                    "sButtonText": "Excel",
                    "sFileName": "*.xls" // <-- ADD THIS LINE

                },

                {
                    "oSelectorOpts": { filter: 'applied', order: 'current' },
                    "sExtends": "pdf",
                    "sPdfOrientation": "landscape",
                    "sPdfMessage": "RegES - Reportes ", 
                },
                "print"
            ]
        },