我尝试使用带有Cakephp 2.5的PHPExcel库将数据导出到Excel文件。 我的代码:
<?php
App::import('Vendor', 'PHPExcel', array('file' => 'PHPExcel'.DS.'PHPExcel.php'));
App::import('Vendor', 'PHPExcel_IOFactory', array('file' => 'PHPExcel'.DS.'PHPExcel'.DS.'IOFactory.php'));
App::import('Vendor', 'PHPExcel_IOFactory', array('file' => 'PHPExcel'.DS.'PHPExcel'.DS.'Style.php'));
class LeadUploadController extends AppController {
public function exel_download($emp_id='')
{
$this->autoRender = false;
$this-> layout='ajax';
$objPHPExcel = new PHPExcel();
$serialnumber=0;
$tmparray =array("Sr.Number","Employee ID","Employee Name");
$sheet =array($tmparray);
$tmparray =array();
$serialnumber = $serialnumber + 1;
array_push($tmparray,$serialnumber);
$employeelogin = 'aa';
array_push($tmparray,$employeelogin);
$employeename = 'bb';
array_push($tmparray,$employeename);
array_push($sheet,$tmparray);
header('Content-type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="file.xlsx"');
$worksheet = $objPHPExcel->getActiveSheet();
foreach($sheet as $row => $columns) {
foreach($columns as $column => $data) {
$worksheet->setCellValueByColumnAndRow($column, $row + 1, $data);
}
}
$objPHPExcel->getActiveSheet()->getStyle("A1:I1")->getFont()->setBold(true);
$objPHPExcel->setActiveSheetIndex(0);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save(str_replace('.php', '.xlsx', __FILE__));
}
}
问题是下载的Excel文件中没有任何数据,它完全空白,并显示错误“由于文件格式或扩展名无效,无法打开文件”。不知道这些代码有什么问题。
答案 0 :(得分:1)
以下代码适用于this
扩展名。
xls