• PHP处理CSV表格文件的常用操作方法是怎么样呢


    php来说,fgetcsv读入csv表格,返回一个数组,
    然后foreach输出成HTML的<table>,这步操作几行代码就能实现,非常简单.
    工作量主要还在于浏览器前端,建议你用jQuery进行DOM和AJAX操作,
    要实现phpMyAdmin那样细粒度双击单元格编辑,然后AJAX提交也不难,
    或者整个表格写好后一次性$("form").serialize();然后AJAX提交也可以.
    CSV表格的几条规则:
    1.每一行的单元格内容之间用逗号分隔.
    2.如果单元格的内容本身有逗号,这个单元格的内容将会用引号包含.
    3.如果单元格的内容本身有引号:
    (1)引号不在首或尾,这个单元格内容不会被引号包含.
    (2)引号在首或尾,这个单元格内容会被引号包含,并且原来首尾的引号会被转义.
    读写CSV

    <?php
    header('Content-Type: text/plain; charset=utf-8');
    //导出CSV表格:数组转CSV
    $arr = array (
    array('ab', 'cd'),
    array('"a,b"', '"c,d"'),
    );
    $fp = fopen('file.csv', 'w');
    foreach ($arr as $row) {
    //将一行格式化为CSV并写入文件指针
    fputcsv($fp, $row);
    }
    fclose($fp);
    unset($arr);
    //导入CSV表格:CSV转数组
    $fp = fopen('file.csv', 'r');
    while ( ($row = fgetcsv($fp)) !== FALSE ) {
    //从文件指针中读入一行并解析CSV
    $arr[] = $row;
    }
    fclose($fp);
    var_export($arr);
    另存为一个独立文件
    download.php:

    <?php
    $list = array (
    'aaa,bbb,ccc,dddd',
    '123,456,789',
    '"aaa","bbb"'
    );
    session_start();
    $_SESSION['outputArray']=$list;
    ?>
    <a href="test.php" target="_blank">下载csv文件</a>
    test.php:
    <?php
    session_start();
    $outputArray=$_SESSION['outputArray'];
    header('Content-Type: application/csv');
    header('Content-Disposition: attachment;filename="sales.csv"');
    $output=fopen('php://output','w') or die("can not open");
    foreach ($outputArray as $line) {
    fputcsv($output, split(',', $line));
    }
    fclose($output) or die("can not close");
    ?>

    自动保存csv文件到指定地点

    <?php
    $list = array (
    'aaa,bbb,ccc,dddd',
    '123,456,789',
    '"aaa","bbb"'
    );
    $fp = fopen('file.csv', 'w');
    foreach ($list as $line) {
    fputcsv($fp, split(',', $line));
    }
    fclose($fp);
    ?>

  • 相关阅读:
    [Linux] Chmod 改变权限
    [linux命令]基本命令
    [Linux命令] 查看目录大小du
    [Linux命令]格式化mkfs
    在VMWare下的Linux切换
    .net的MSMQ异步调用
    CASSINI源代码分析
    [Wix] RadioButton与ListItem的属性要改掉了
    如何快速生成Insert数据插入语句?
    撕纸
  • 原文地址:https://www.cnblogs.com/2881064178dinfeng/p/6222898.html
Copyright © 2020-2023  润新知