天天看点

用php导入导出csv文件用php导入导出csv文件

用php导入导出csv文件

最近在做一些模块的时候,频繁导入导出csv文件,与excel相比他的处理更简单,文件体积更小,数据处理量大,而且很多语言都支持。

废话不多,上代码~

导入代码:

<meta charset = "utf-8">
<form  method = "post" enctype = "multipart/form-data" >
    <h3>上传文件</h3>
    <input type = "file" name = "file">
    <button type = "submit" >提交</button>
</form>
<?php
    $csv = $_FILES['file'];

    $suffix = array_pop(explode('.', $csv['name']));

    //检查是否是csv文件
    if($suffix <> 'csv')
        exit('请上传csv文件');

    $file = fopen($csv['tmp_name'], 'r');

    $lines = array();

    while($data  = fgetcsv($file))
        $lines[] = $data;

    echo '<pre>';
    print_r($lines);
?>
           

导出代码:

<meta charset = "utf-8" />
<a href = "?test">点我下载CSV文件</a>

<?php
if(isset($_REQUEST['test'])){
    ob_end_clean();
    ob_start();

    //第一行题头
    echo "题头1,题头2,题头3,题头4\n";
    //第一行数值
    echo "数值1,数值2,数值3,数值4\n";

    $content = ob_get_contents();

    ob_end_clean();

    header('Content-Type: text/html;charset=gb2312');
    header('Content-Type: application/force-download');
    header('Content-Disposition: attachment; filename=test.csv');

    echo iconv('utf-8', 'gb2312', $content);
}
?>
           

测试链接

上传功能测试链接

下载功能测试链接

以上~如果有不明白,可以留言