在导出 Excel 时出现乱码的问题,通常是由于编码不一致导致的。可以尝试以下解决方法:
PHPExcel_Writer_Excel5
或 PHPExcel_Writer_Excel2007
类的 setInputEncoding
方法来设置编码格式。$writer = new PHPExcel_Writer_Excel2007($objPHPExcel);
$writer->setInputEncoding('UTF-8');
header('Content-Type: text/html; charset=utf-8');
setCellValueExplicit
方法来设置编码格式。$objPHPExcel->getActiveSheet()->setCellValueExplicit('A1', '中文内容', PHPExcel_Cell_DataType::TYPE_STRING);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setWrapText(true);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setName('Arial');
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setSize(10);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_BLACK);
header('Content-Type: application/vnd.ms-excel; charset=utf-8');
header('Content-Disposition: attachment;filename="filename.xls"');
header('Cache-Control: max-age=0');
以上是一些常见的解决方法,具体的解决方案可能因环境和代码实现的不同而有所差异。如果以上方法无法解决问题,可以尝试查看其他可能导致乱码的原因,如操作系统的语言设置、Excel 软件的默认编码等。
下一篇:php如何将变量转换string
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站