如何使用数据表上传csv文件并将其存储到服务器中的文件夹?

时间:2019-03-07 16:57:27

标签: javascript php jquery datatable

我有表并在其上建立数据表,我在其上添加了下载的csv文件,并且该文件正在运行。现在,我需要上传相同的文件或将其存储在某个文件夹路径中。

这是我的数据表代码

$('#account_details').DataTable({
    dom: 'lBfrtip',
    lengthMenu: [
        [ 10, 25, 50, 100, 250, 500 -1 ],
        [ '10', '25', '50', '100', '250', '500' ]
    ],
    pageLength: 10,
    buttons: [
        { 
            extend: 'excelHtml5',
            text:'', 
            className: 'excelbtn',
            filename: 'Account_details', 
            title: 'Account Details', 
            titleAttr: 'Excel', 
            exportOptions: { columns: [ 0, 1, 2, 3, 4 ] }
        }, { 
            extend: 'pdfHtml5', 
            text:'',
            className: 'pdfbtn',
            filename: 'Account_details', 
            title: 'Account Details', 
            titleAttr: 'PDF', 
            exportOptions: { columns: [ 0, 1, 2, 3, 4 ] }
        }, { 
            extend: 'print',
            text:'',
            className: 'print',
            filename: 'Account_details', 
            title: 'Account Details', 
            titleAttr: 'Print', 
            exportOptions: { columns: [ 0, 1, 2, 3, 4 ] }
        }, { 
            extend: 'csv', 
            text:'',
            className: 'csv',
            filename: 'Account_details', 
            title: 'Account Details', 
            titleAttr: 'Reports', 
            exportOptions: { columns: [ 0, 1, 2, 3, 4 ] }
        }
    ],
    responsive: true,
    colReorder: true,
    stateSave:  true,
    stateSaveCallback: function(settings, data) {
        console.log(data);
        update_customize_table_settings('account_details','accounts');
    }
});

我的问题是: 需要使用数据表从前端搜索一些记录,并将结果存储在db中的另一个表中。我将结果存储在csv文件中并下载了。我只是从该文件中提取数据并将其存储在db的另一个表中并显示它。

请任何人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

  1. 添加一个按钮,用户在搜索后将单击该按钮。

                    initComplete: function () {
                        $("div.toolbar").html(
                            '<a href="#" class="btn  btn-info btn-secondary" style="margin: 5px" id="insertbtn" onclick="InsertRows()">Insert</a>');
                    }
    
  2. InsertRows函数

           function InsertRows() {
    
                var table = $("#dtexample").DataTable();
                var data = table.rows().data();
                data.each(function (value, index) {
                    console.log(`For index ${index}, data value is ${value}`);
                    console.dir(value);
                    //call AJAX below to insert each row to table
                });
    
            }
    

    这将进行n次插入AJAX请求,如果您要插入少量行,那很好。但是,如果搜索的行数更大,那么我建议将数据添加到数组中,并将POST数组添加到Webservice中,以将其插入表中。