本文是一个php实现的 csv文件操作类实现代码,需要的朋友可以参考下。 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)
本文是一个php实现的 csv文件操作类实现代码,需要的朋友可以参考下。
逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。
1.生成csv文件
require "./include/csvdatafile.php";
set_time_limit(200);
header("Content-type: application/RFC822");
header('Content-Disposition: attachment; filename=export.csv');
$arr_export_titles = array("学生编号","学号","学生姓名");
$csvfile = new csvDataFile("", ",", "w");
echo $csvfile->printline($arr_export_titles);
//方法一
$print_data1[] = 1;
$print_data1[] = "039413301";
$print_data1[] = "张三";
echo $csvfile->printline($print_data1);
$print_data2[] = 2;
$print_data2[] = "039413302";
$print_data2[] = "李四";
echo $csvfile->printline($print_data2);
$print_data3[] = 3;
$print_data3[] = "039413303";
$print_data3[] = "王五";
echo $csvfile->printline($print_data3);
//方法二
$print_data[1][] = 1;
$print_data[1][] = "039413301";
$print_data[1][] = "张三";
$print_data[2][] = 2;
$print_data[2][] = "039413302";
$print_data[2][] = "李四";
$print_data[3][] = 3;
$print_data[3][] = "039413303";
$print_data[3][] = "王五";
echo $csvfile->printcsv($print_data);
2.打开csv读数据
$filename = "E:/development/csvfile/datefile.csv";
// Read file source
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
// format content for special chars
$contents = @addslashes($contents);
$contents = @str_replace(',', ' ,', $contents);
$contents = @stripslashes($contents);
// Write to new file
$handle = @fopen($filename, "w");
@fwrite($handle, $contents);
@fclose($handle);
$fd = @fopen($filename, "rb");
$first_line = str_replace(' ,',',',str_replace('"','',trim(@fgets($fd, 1000)))) ;
@fclose($fd);
if($first_line != "学生编号,学号,学生姓名") {
$pass = false;
}
if($pass){
$csv = new csvDataFile($filename);
while($csv->next_Row()) {
$userid = trim($csv->f('学生编号'));
$classno = trim($csv->f('学号'));
$username = trim($csv->f('学生姓名'));
}
}
声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!