1. protected/vendor 디렉토리에 phpexcel의 압축을 풉니다. 디렉토리 구조는 Vendor/PHPExcel/PHPExcel.php
2. index.php 파일을 수정하세요
require_once($yii); $app=Yii::createWebApplication($config);//->run(); // adding PHPExcel autoloader Yii::import('application.vendor.*'); require_once "PHPExcel/PHPExcel.php"; require_once "PHPExcel/PHPExcel/Autoloader.php"; Yii::registerAutoloader(array('PHPExcel_Autoloader','Load'), true); $app->run();
3. Excel 파일을 내보냅니다
public function actionExcel(){ $objPHPExcel = new PHPExcel(); $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', 'Hello') ->setCellValue('B2', 'world!') ->setCellValue('C1', 'Hello') ->setCellValue('D2', 'world!'); $objPHPExcel->getActiveSheet()->setTitle('Simple'); $objPHPExcel->setActiveSheetIndex(0); ob_end_clean(); ob_start(); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="test.xls"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); }
4.
$file = CUploadedFile::getInstance($model,'brand_model_file'); var_dump($file->getType()); if(in_array($file->getType(),array('application/vnd.ms-excel','application/excel','application/msexcel','application/kset')) ) { $excelFile = $file->getTempName(); //$phpexcel = new PHPExcel; $excelReader = PHPExcel_IOFactory::createReader('Excel5'); $phpexcel = $excelReader->load($excelFile)->getSheet(0); $total_line = $phpexcel->getHighestRow(); $total_column = $phpexcel->getHighestColumn(); $allData = array(); for ($row = 1; $row <= $total_line; $row++) { $data = array(); for ($column = 'A'; $column <= $total_column; $column++) { $data[] = trim($phpexcel->getCell($column.$row) -> getValue()); } array_push($allData, $data); } print_r($allData);
이 글의 내용은 여기까지입니다. 읽어주신 모든 분들께 감사드립니다.
관련 권장 사항:
PHP는 PHPExcel을 사용하여 데이터베이스에 일괄 업로드를 구현합니다.
IE 브라우저가 PHPExcel을 사용하여 파일을 내보낼 때 중국어 파일 이름이 왜곡되는 문제를 해결하는 방법
위 내용은 PHPExcel을 사용하여 YII에서 가져오기 및 내보내기 - CSDN 블로그의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!