在2003及其它版本导出一切正常,但是在excel2007上导出乱码,处理方法:
string format for excel to export. Valid value are 'Excel5','Excel2007','Excel2003XML','00Calc','Gnumeric'.
找到createWrite方法,将第二个参数修改成需要生成的EXCEL版本型号:
如:
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
当然了,如果用的是框架,如YII2框架,那么建议封装成一个小物件,推荐:
https://github.com/moonlandsoft/yii2-phpexcel
小物件使用方法:
use moonland\phpexcel\Excel;
public function actionT()
{
$result = Test::find()->all();
Excel::widget([
'models' => $result,
'mode' => 'export',
'format' => 'Excel5',
'columns' => ['itemid', 'username', 'company'],
'headers' => ['itemid' => 'ID号', 'username' => '用户名', 'company' => '公司'],
]);
}
来源:oschina
链接:https://my.oschina.net/u/780509/blog/602700