First, you need PHPExcel library, which I attach with my topic.
Then, following these steps:
- Copy all files and folders in PHPExcel4Yii/ to folder:
protected/extensions/
- Add to config file: main.php:
+
'import' => array( ... 'application.extensions.*', ...)
+
'components' => array( ... 'excel'=>array( 'class'=>'application.extensions.PHPExcel', ), ... )
- New functions is added:
+ Create a new excel object:
$objPHPExcel = Yii::app()->excel;(required when using PHPExcel with Yii framework)
+ Save a excel file (excel 2007):
$objPHPExcel->saveExcel2007($objPHPExcel,$filename);
+ Create a 2007 excel object reader :
$objReader = $objPHPExcel->readExcel2007();
- You only need start with
$objPHPExcel = Yii::app()->excel;and use PHPExcel like documentation in phpexcel.codeplex.com/releases/view/45412 (I'm newbie so that I can't post link
Example code:
$model = new DemoModel();
$labels = $model->attributeNames();
$data = $model->findAll();
//Khởi tạo đối tượng excel
//Begin an excel object
$objPHPExcel = Yii::app()->excel;
//Đặt giá trị cho các cel tương ứng trong file excel
//Set labels in excel file
$objPHPExcel->getActiveSheet()->setCellValue('A1',$labels[0]);
$objPHPExcel->getActiveSheet()->setCellValue('B1',$labels[1]);
$objPHPExcel->getActiveSheet()->setCellValue('C1',$labels[2]);
$objPHPExcel->getActiveSheet()->setCellValue('D1',$labels[3]);
$i = 2;
foreach($data as $record){
//Lấy giá trị vào các cell của file excel
//Set value for each cell
$objPHPExcel->getActiveSheet()->setCellValue('A'. $i,$record->id);
$objPHPExcel->getActiveSheet()->setCellValue('B'. $i,$record->name);
$objPHPExcel->getActiveSheet()->setCellValue('C'. $i,$record->homepage);
$objPHPExcel->getActiveSheet()->setCellValue('D'. $i,$record->description);
$i++;
}
//Định giá trị về độ rộng các cột trong file excel
//Set width for each B,C,D cell
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(24);
objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(24);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(24);
//Tên file
//file name
$filename = "abc.xlsx";
//Lưu file
//Save to abc.xlsx file
// You can use like PHPExcel documentation from codeplex:
//$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
//$objWriter->save($filename);
$objPHPExcel->saveExcel2007($objPHPExcel,$filename);
Attached File(s)
-
PHPExcel.zip (1.48MB)
Number of downloads: 747

Help






Non preoccuparti, è dentro il monitor!








