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);
?>

PHP处理CSV表格文件的常用操作方法是怎么样呢的更多相关文章

  1. 【 D3.js 进阶系列 — 1.0 】 CSV 表格文件的读取

    在入门系列的教程中.我们经常使用 d3.json() 函数来读取 json 格式的文件.json 格式非常强大.但对于普通用户可能不太适合,普通用户更喜欢的是用 Microsoft Excel 或 O ...

  2. C++读取csv表格文件到vector

    这个CSV文件假设知道每行有多少个数,也知道数据的格式,即可使用下面简单的方法实现. 我们假设每行有4个数据,依次是int,int,float,float 基本思路是:把每行的数据定为一个类型,放在v ...

  3. php 导出csv表格文件

    1.数据库取出数据,存放在二维数组中 $conn=new mysqli('localhost','root','root','myDBPDO'); $result=$conn->query('s ...

  4. C#中对文件File常用操作方法的工具类

    场景 C#中File类的常用读取与写入文件方法的使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/99693983 注: 博客 ...

  5. 收集整理element-ui 表格组件的常用操作方法

    一.简单的表格行内编辑效果 原理是通过Css控制绑定的输入控件与显示值,在选中行样式下对控件进行隐藏或显示. 1.注意下样式的设置 2.change事件 @change="handleEdi ...

  6. 【 D3.js 进阶系列 — 1.1 】 其它表格文件的读取

    CSV 表格文件是以逗号作为单元分隔符的,其他还有以制表符 Tab 作为单元分隔符的 TSV 文件,还有人为定义的其他分隔符的表格文件.本文将说明在 D3 中怎样读取它们. 1. TSV 表格文件是什 ...

  7. pyhton读入Excel和csv数据文件

    pyhton读入Excel和csv数据文件#file 数据文件的输入输出操作(主要包括Excel表格和csv表格文件)import pandas as pd #pyhton读入数据必须要导入panda ...

  8. Python文件常用操作方法

    Python文件常用操作方法 一.对File对象常用操作方法: file= open(file, mode='r', buffering=-1, encoding=None, errors=None, ...

  9. csv表格处理(下)--纯JS解析导入csv

    多日前的上篇介绍了csv表格,以及JS结合后端PHP解析表格填充表单的方法.其中csv转换成二维数组的时候逻辑比较复杂多坑,幸好PHP有丰富的库函数来处理,而现在用JS解析的话就没有那么幸运了,一切都 ...

随机推荐

  1. [BS-26] UIView、pop和Core Animation区别

    UIView.pop和Core Animation区别 一.UIView.pop和Core Animation的主要区别 1. Core Animation的动画只能添加到layer上(layer.p ...

  2. SQL Update实现使用一个表的数据更新另一张表

    表结构 功能 SQL Serevr Access 表结构

  3. runcluvfy.sh运行结果

    $ ./runcluvfy.sh stage -pre crsinst -n rac11g1,rac11g2 -verbose Performing pre-checks for cluster se ...

  4. Java线程同步和线程通信

    一.线程同步 当多个线程访问同一个数据时,非常容易出现线程安全问题.这时候就需要用线程同步. 不可变类总是线程安全的,因为它的对象状态是不可改变的,但可变类对象需要额外的方法来保证线程安全. 1.同步 ...

  5. SQLSERVER:sqlserver2008r2安装好后,自动提示功能不可以使用

    刚安装好的sqlserver2008r2x64,写一些sql时,自动提示功能失效了. 解决排查一: 找到tools->options->Text Editor->Transact-S ...

  6. MVVM框架思想

    1.MVVM是什么? M:模型 V:视图 VM:视图模型 简单理解:mvc是一个cell面向一个model开发 mvvm是一个cell面向一个viewModel开发, viewModel里面又包含mo ...

  7. Debug 介绍

    Debug 设置

  8. span和div的区别

    <span> 在CSS定义中属于一个行内元素,在行内定义一个区域,也就是一行内可以被 <span> 划分成好几个区域,从而实现某种特定效果. <span> 本身没有 ...

  9. ADO.net 扩展属性

    扩展属性 处理:有外键关系时将代号化信息处理成原始文字,让用户可看懂的(粗略解释) 利用扩展属性 如:users表中的民族列显示的是民族代号处理成Nation表中的民族名称 需要在users类里面扩展 ...

  10. Python学习总结8:文件模式及操作方法汇总

    文件操作之前需要文件保证文件存在,并且将文件open os.mknod("test.txt")        创建空文件 fp = open("test.txt" ...