PHP处理CSV表格文件的常用操作方法总结

   2016-09-08 0
核心提示:要做在线Excel表格编辑功能,Excel的xls文件格式的解析就是个问题,毕竟这是微软Office的私有专利格式.所以要做的话还是用通用的csv(Comma Separated Value,逗号分隔值)格式吧.各种办公软件都能识别csv表格,其实就是以特定分隔符(比如逗号)分隔单元格的表格.拿P

要做在线Excel表格编辑功能,Excel的xls文件格式的解析就是个问题,毕竟这是微软Office的私有专利格式.

所以要做的话还是用通用的csv(Comma Separated Value,逗号分隔值)格式吧.

各种办公软件都能识别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=http://www.tuicool.com/articles/"test.php" target="_blank">下载csv文件
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);
?>
 
标签: CSV PHP
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 使用C#编写一个.NET分析器(一) 使用csv模块的什么方法可以一次性将一行数据写入文件
    使用C#编写一个.NET分析器(一) 使用csv模块的
    译者注这是在Datadog公司任职的Kevin Gosse大佬使用C#编写.NET分析器的系列文章之一,在国内只有很少很少的人了解和研究.NET分析器,它常被用于APM(应用性能诊断)、IDE、诊断工具中,比如Datadog的APM,Visual Studio的分析器以及Rider和Reshaper等等。之前
    03-08
  • Python使用pandas导入csv文件内容的示例代码
    Python使用pandas导入csv文件内容的示例代码
    目录使用pandas导入csv文件内容1. 默认导入2. 指定分隔符3. 指定读取行数4. 指定编码格式5. 列标题与数据对齐使用pandas导入csv文件内容1. 默认导入在Python中导入.csv文件用的方法是read_csv()。使用read_csv()进行导入时,指定文件名即可import pandas as p
  • csv,txt,excel文件之间的转换,perl脚本
    最近接触一些需要csv,txt,excel文件之间的转换,根据一些网上搜索加上自己的改动,实现自己想要的结果为主要目的,代码的出处已经找不到了,还请见谅,以下主要是针对csvexcel 和txtexcel写的perl脚本。主要用到的模块是: Text::CSVSpreadsheet::WriteExcel
    02-09
  • perl解析CSV perl解析ascii表格
    到CPAN下载TEXT:CSV按照Readme.txt安装TEXT:CSV Modulesperl Makefile.plmakemake testmake install
    02-09
  • C语言实现读取CSV文件的方法详解 c语言读取csv文件数据
    C语言实现读取CSV文件的方法详解 c语言读取csv
    1、每一次只能读取同一种数据类型,不能读取字符串。2、第次读取会返回一个 CSV数据结构,有源数据和二维数组,行列数信息3、可以转换二维数组,但总大小不能变123.csvMonth,"CO2 (ppm) mauna loa, 1965-1980",,,CO2 (ppm) mauna loaJan-65,319.32,1,,,Fe
  • VB 读取csv文件数据
      Public adoConn As New ADODB.Connection   Private Sub csv()adoConn.ConnectionString = "Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=C:\Documents and Settings\vinsonlu\Desktop\1400004"adoConn.Open()Dim rs As New ADODB.Record
    02-09
  • Python中CSV文件的读写库 用python读写和处理cs
    目录文件的基本读写用字典模式处理数据非标准格式的处理dialectSnifferCSV 格式的全称是 Comma Separated Values,意思是逗号分割的数据,是最常见的电子表格和数据库的导出格式之一,在 RFC 4180 中已经成为了一种标准格式。Python 中提供了一个官方的标准
  • python中内置库csv的使用及说明
    目录读取写入kwargs参数所谓的CSV(逗号分隔值)格式是电子表格和数据库最常用的导入和导出格式。尝试使用CSV格式进行标准化描述之前已经使用了很多年。该csv模块reader和writer对象读取和写入序列。程序员还可以使用DictReader和DictWriter类以字典形式读取
  • PHP 数组与CSV文件互转
    PHP 数组与CSV文件互转
    项目说明数组导出CSV,ZIP文件,CSV,ZIP文件还原数组(阵列导出文件,文件恢复阵列)适用于导入导出会员,商品信息所有配置项ExecData中配置注意:读取中文文件名文件,数据时需要注意本地区域设置写入文件数据是UTF-8,设置 FetchFile 类中 fetchFile() 函
    02-09
  • C# CSV文件读写 cctv5体育节目表
    CSV是一种通用的、相对简单的文件格式,最广泛的应用是在程序之间转移表格数据,而这些程序本身是在不兼容的格式上进行操作的。那么,C#如何读取和写入csv格式文件呢?CSV数据格式并没有非常统一的标准 但是为了避免出错 我们在开发的时候统一格式是这样的:"
    02-09
点击排行