php中如何导入导出CSV格式的文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中如何导入导出CSV格式的文件相关的知识,希望对你有一定的参考价值。
我用fgetscv函数已经导入进去了,可是发现导入到数据库中,把表头的那一行也导进去了。
php导入CSV文件:
$line_number = 0;
$handle = fopen("1.xls","r");
while ($data = fgetcsv ($handle, 100000, ","))
if($line_number == 0)
$line_number++;
continue;
//z这样就可以去掉表头的那一行
for ($i = 0; $i < count($data); $i++)
$ziduan = $data[$i];
2.php导出CSV文件
header( "Cache-Control: public" );
header( "Pragma: public" );
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=txxx.csv");
header(\'Content-Type:APPLICATION/OCTET-STREAM\');
ob_start();
$header_str = iconv("utf-8",\'gbk\',"信息id,标题,名称,电话,QQ,Email,内容,时间\\n");
$file_str="";
$mysqli= new mysqli(\'localhost\',\'root\',\'\',\'test\');
if (mysqli_connect_errno())
printf("Connect failed: %s\\n", mysqli_connect_error());
exit();
$sql=\'select * from messages\';
$mysqli->query("set names utf8 ;");
$result=$mysqli->query($sql);
if($result)
while ($row = mysqli_fetch_assoc($result))
$file_str.= $row[\'id\'].\',\'.$row[\'title\'].\',\'.$row[\'name\'].\',\'."\'$row[\'telephone\']\'".\',\'.$row[\'qq\'].\',\'.$row[\'email\'].\',\'.str_ireplace(\',\',\',\',$row[\'content\']).\',\'.$row[\'retime\']."\\n";
else
echo "nonono!!!";
$file_str= iconv("utf-8",\'gbk\',$file_str);
ob_end_clean();
echo $header_str;
echo $file_str;
?>
$line_number = 0;
$handle = fopen("1.xls","r");
while ($data = fgetcsv ($handle, 100000, ","))
if($line_number == 0)
$line_number++;
continue;
//z这样就可以去掉表头的那一行
for ($i = 0; $i < count($data); $i++)
$ziduan = $data[$i];
导出参考:
http://blog.sina.com.cn/s/blog_60b59c8e0100lv2o.html本回答被提问者采纳 参考技术B 其实你可以用 phpmyadmin 实现导入导出,不过导入的时候字段要和数据表的字段一一对应,参考资料里面的直接用PHP读取excel的,可能也会对你有帮助!
参考技术C 使用fgetcsv()可中已开启的文件中“读取”一行CSV值为数组
使用fputcsv()可中已开启的文件中“存入”一行数组为CSV值。
以上是关于php中如何导入导出CSV格式的文件的主要内容,如果未能解决你的问题,请参考以下文章