以下代码为数据库导出代码:
注意关键点为 (\n \t)必须用双引号包裹。
try {
$dns = "mysql:dbname=8.2;host=127.0.0.1;charset=utf8";
$pdo = new PDO($dns,'root','root');
$user = $pdo->query("select u_id,u_name from user");
$user = $user->fetchAll(2);
$str = "编号\t用户名\n";
foreach ($user as $v){
$str .= $v['u_id']."\t".$v['u_name']."\n";
}
header("Content-type:application/excel");
// It will be called downloaded.pdf
header("Content-Disposition:attachment;filename=downloaded.xls");
echo $str;
}catch (Exception $e){
echo $e->getMessage();
}
关于文件的导入
注意打开文件乱码的问题本人没有解决。
unset第一个值是因为第一个值为表头,不需要添加,然后对数组进行处理,最终循环入库。
header("Content-Type:text/html;charset=utf-8");
$dns = "mysql:dbname=8.2;host=127.0.0.1;charset=utf8";
$pdo = new PDO($dns,'root','root');
//
$str = file_get_contents("C:\Users\lenovo\Desktop/aaa.xlsx");
$arr = explode("\n",$str);
unset($arr[0]);
foreach ($arr as $v){
$ar = explode("\t",$v);
echo "insert into user('u_name') values('$ar[1]')";
$pdo->exec("insert into user(u_name) values('$ar[1]')");
}