适用于大型CSV文件的DataTable

时间:2017-01-04 21:36:56

标签: php csv datatables

我使用数据表来显示CSV文件中的数据。该文件可能有60k行。一切都很好,除了它显然需要很长时间(超过70秒)才能显示。

<?php 
$result  = [];
if (($handle = fopen("SO.csv?id=2", "r")) !== FALSE) {
    while (($row = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $cols = array($row[0], $row[1], $row[2], $row[3]);
        $reset = false;
        echo '<tr><td>'.$row[0].' </td><td> '.$row[1].' </td><td>  '.$row[2].' </td><td>  '.$row[3].' </td></tr>';
    }
}
?>

显然,服务器端是一个理想的选择,但我不确定在从CSV读取时我是如何合并它的。

有什么建议吗?还有其他任何工具/脚本吗?

1 个答案:

答案 0 :(得分:1)

尝试编写返回CSV数据的PHP脚本,然后通过数据表中的ajax option加载此类数据。然后,您可以对表进行分页并使用deferRender选项,该选项会强制数据表仅在需要时(即更改页面时)创建HTML节点。

这应该可以加快初始加载速度。