之前用的GBK编码格式,PHP导出EXCEL格式是好,现在改为UTF8编码,导出EXCEL中文乱码,已经解决,用iconv转换下就可以了
但是,导出的EXCEL都在一个单元格内,换行用\n是可以的,\t却始终没有效果,高手帮忙看下了,代码如下:session_start();
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type:application/vnd.ms-excel;charset=utf-8");
header("Content-Type: application/download");
switch($_REQUEST['menu']){
case "userlist":
$name1 = "学生";
$name1 = iconv("utf-8","gb2312//ignore",$name1);
header("Content-Disposition: attachment;filename=".$name1.".xls ");break;
default:
header("Content-Disposition: attachment;filename=noname.xls ");break;
}
header("Content-Transfer-Encoding: binary");
include_once("../inc/init.php");
$menu = $_REQUEST['menu'];
$u[] = "学生姓名";$u[] = "学生学号";$u[] = "手机号码";$u[] = "联系邮件";$u[] = "登录次数";
$u[] = "导师姓名";$u[] = "导师职称";$u[] = "所在班级";$u[] = "所在学校";$u[] = "名 次";$u[] = "总人数";
foreach($u as $cc){
$cc = iconv("utf-8","gb2312//ignore",$cc);
echo $cc."\t";
}
但是,导出的EXCEL都在一个单元格内,换行用\n是可以的,\t却始终没有效果,高手帮忙看下了,代码如下:session_start();
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type:application/vnd.ms-excel;charset=utf-8");
header("Content-Type: application/download");
switch($_REQUEST['menu']){
case "userlist":
$name1 = "学生";
$name1 = iconv("utf-8","gb2312//ignore",$name1);
header("Content-Disposition: attachment;filename=".$name1.".xls ");break;
default:
header("Content-Disposition: attachment;filename=noname.xls ");break;
}
header("Content-Transfer-Encoding: binary");
include_once("../inc/init.php");
$menu = $_REQUEST['menu'];
$u[] = "学生姓名";$u[] = "学生学号";$u[] = "手机号码";$u[] = "联系邮件";$u[] = "登录次数";
$u[] = "导师姓名";$u[] = "导师职称";$u[] = "所在班级";$u[] = "所在学校";$u[] = "名 次";$u[] = "总人数";
foreach($u as $cc){
$cc = iconv("utf-8","gb2312//ignore",$cc);
echo $cc."\t";
}
\t 是制表符的吗!换行好像是'\r\n'吧
此法并非导出excel,此法只不过是生成一个能用excel打开的文件。最后使用phpexcel,推荐好汉,也使用phpexcel算了,功能强大,体积也不大。