Skip to content

Latest commit

 

History

History
58 lines (46 loc) · 2.14 KB

csv.md

File metadata and controls

58 lines (46 loc) · 2.14 KB
title date categories tags
PHP通过将Excel转为csv文本读取(写入)表格(数据库),实现数据的导入导出
2014-09-16 04:29:05 -0700
PHP
php
php基础
PHP csv
PHP数据

项目开发中经常碰到的就是数数据的导出备份和导入还原,对开发人员来说当然是直接对数据库操作了。但是大部分非开发人员、用户是不会进行数据库操作的,有时还需要导出表格查看管理等。这时候就需要开发人员做导出导入的功能了。

而最常见的方法就是将数据导出为.csv格式的,既可以用excel打开,又可以将本地的excel数据导入到线上。

当然,也有方法可以直接操作excel,就是使用PHP自定义类phpExcelReader、PHPExcel等。本文主要是写通过将Excel另存为csv之后的操作,咱时不对此方法进行过多赘述。

CSV是逗号分隔值的英文缩写,通常都是纯文本文件。CSV格式是分隔的数据格式,有字段/列分隔的逗号字符和记录/行分隔换行符。通常CSV文件可以用EXCEL正常打开,所以才有了将数据导出为csv格式的方法。

PHP自带的csv函数有——读取:fgetcsv(),写入:fputcsv()。

fgetcsv() 函数从文件指针中读入一行并解析 CSV 字段。解析读入的行并找出 CSV 格式的字段,然后返回一个包含这些字段的数组。

$file = fopen(ROOT_DIR.'/taobao.csv','r');
while ($row = fgetcsv($file)) {
    $list[] = $row;
}
fclose($file)

fputcsv() 函数将行格式化为 CSV 并写入一个打开的文件。

该函数返回写入字符串的长度。若出错,则返回 false。

fputcsv() 将一行(用 fields 数组传递)格式化为 CSV 格式并写入由 file 指定的文件。

$arr = array(
    '0' => array(
	    '0' => 'Ruesin',
	    '1' => 'boy',
	    '2' => '24',
	),
    '1' => array(
		'0' => 'Linney',
		'1' => 'girl',
		'2' => '23',
    )
);
$file = fopen("taobao.csv","w");
foreach ($arr as $line){
	fputcsv($file,$line);
}
fclose($file);

至于其他的剩下的就是各种数组的操作了,有兴趣的朋友可以去看下本博有关PHP数组的部分文章。