用php导入导出csv文件
最近在做一些模块的时候,频繁导入导出csv文件,与excel相比他的处理更简单,文件体积更小,数据处理量大,而且很多语言都支持。
废话不多,上代码~
导入代码:
<meta charset = "utf-8">
<form method = "post" enctype = "multipart/form-data" >
<h3>上传文件</h3>
<input type = "file" name = "file">
<button type = "submit" >提交</button>
</form>
<?php
$csv = $_FILES['file'];
$suffix = array_pop(explode('.', $csv['name']));
//检查是否是csv文件
if($suffix <> 'csv')
exit('请上传csv文件');
$file = fopen($csv['tmp_name'], 'r');
$lines = array();
while($data = fgetcsv($file))
$lines[] = $data;
echo '<pre>';
print_r($lines);
?>
导出代码:
<meta charset = "utf-8" />
<a href = "?test">点我下载CSV文件</a>
<?php
if(isset($_REQUEST['test'])){
ob_end_clean();
ob_start();
//第一行题头
echo "题头1,题头2,题头3,题头4\n";
//第一行数值
echo "数值1,数值2,数值3,数值4\n";
$content = ob_get_contents();
ob_end_clean();
header('Content-Type: text/html;charset=gb2312');
header('Content-Type: application/force-download');
header('Content-Disposition: attachment; filename=test.csv');
echo iconv('utf-8', 'gb2312', $content);
}
?>
测试链接
以上~如果有不明白,可以留言