我已经设法使用php创建了一个excel文档,但是每次打开文档时都会出错,即使其他一切都很好。错误是the file you are trying to open is in different format than specified by the file extension ...
我要导出到 excel 的代码:
public function actionExportToExcel() {
//header('Content-type: text/csv');
header('Content-Disposition: attachment; filename="project-report-' . date('YmdHi') .'.xls"');
header("Content-Type: application/ms-excel");
$model=new ViewWebprojectreport('search');
$model->unsetAttributes(); // clear any default values
if(Yii::app()->user->getState('exportModel'))
$model=Yii::app()->user->getState('exportModel');
$dataProvider = $model->search(false);
$dataProvider->pagination->pageSize = $model->count();
// csv header
echo ViewWebprojectreport::model()->getAttributeLabel("StartDATE")."\t".
ViewWebprojectreport::model()->getAttributeLabel("PROJECT")."\t".
"Survey Number\t".
ViewWebprojectreport::model()->getAttributeLabel("ActualEndDate")."\t".
ViewWebprojectreport::model()->getAttributeLabel("OFFICE")."\t".
ViewWebprojectreport::model()->getAttributeLabel("PERCENT")."\t".
ViewWebprojectreport::model()->getAttributeLabel("PERCENTPlanned")."\t".
ViewWebprojectreport::model()->getAttributeLabel("KM")."\t".
ViewWebprojectreport::model()->getAttributeLabel("KMPlanned")."\t".
ViewWebprojectreport::model()->getAttributeLabel("COUNTRY")."\t".
ViewWebprojectreport::model()->getAttributeLabel("AREA")."\t".
ViewWebprojectreport::model()->getAttributeLabel("ASAAREA").
" \r\n";
// csv data
foreach ($dataProvider->getData() as $data) {
//if you want all data use this looop
/*foreach ($data as $key => $value) {
echo $value.",";
}
echo "\r\n";*/
echo "$data->StartDATE\t$data->PROJECT\t".$data->PROJCODE . $data->PROJID ."\t$data->ActualEndDate\t$data->OFFICE\t$data->PERCENT\t$data->PERCENTPlanned\t$data->KM\t$data->KMPlanned\t$data->COUNTRY\t$data->AREA\t$data->ASAAREA\t\r\n";
}
}
我不想导出为 csv,而是直接导出为 excel 格式文件。我错过了什么?