Yii::$classMap['PHPExcel'] = '@app/vendor/composer/PHPExcel.php';
設置引入文件
導出
public function actionOut()
{
$arr=Curls::find()->asArray()->all();
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1',"編號")
->setCellValue('B1',"招聘人員" )
->setCellValue('C1',"招聘時間")
->setCellValue('D1',"工資")
->setCellValue('E1',"學歷" )
->setCellValue('F1',"補貼")
->setCellValue('G1',"職位描述")
->setCellValue('H1',"條件");
$num=1;
foreach($arr as $k=>$v)
{
$num++;
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$num, $v['id'])
->setCellValue('B'.$num, $v['postion'])
->setCellValue('C'.$num, $v['times'])
->setCellValue('D'.$num, $v['moneys'])
->setCellValue('E'.$num, $v['claim'])
->setCellValue('F'.$num, $v['boon'])
->setCellValue('G'.$num, $v['zpxz'])
->setCellValue('H'.$num, $v['zwjs']);
}
$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');
}
導入
public function actionMyin()
{
$file =
UploadedFile::getInstanceByName('file');
$name=$file->name;
$file->saveAs('./'.$name);
$data=array('B'=>'postion',"C"=>"postion","D"=>"moneys","E"=>"claim","F"=>"boon","G"=>"zpxz","H"=>"zwjs");
$tablename='curls';//表名字
$this->fileput("./".$name,$data,$tablename);
}
public function fileput($filePath,$data,$tablename)
{
$PHPExcel = new PHPExcel();
$PHPReader = new PHPExcel_Reader_Excel2007();
if(!$PHPReader->canRead($filePath))
{
$PHPReader = new PHPExcel_Reader_Excel5();
if(!$PHPReader->canRead($filePath))
{
echo 'no
Excel';
return ;
}
}
//
加載excel文件
$PHPExcel = $PHPReader->load($filePath);
//
讀取excel文件中的第一個工作表
$currentSheet = $PHPExcel->getSheet(0);
//
取得最大的列號
$allColumn = $currentSheet->getHighestColumn();
//
取得一共有多少行
$allRow = $currentSheet->getHighestRow();
//
從第二行開始輸出,因爲excel表中第一行爲列名
for($currentRow = 2;$currentRow <= $allRow;$currentRow++){
/**從第A列開始輸出*/
//echo $allColumn;
for($currentColumn= 'A';$currentColumn<= $allColumn; $currentColumn++){
$val = $currentSheet->getCellByColumnAndRow(ord($currentColumn)
- 65,$currentRow)->getValue();
//print_r($val);
//die;
if($currentColumn == 'A')
{
//echo
$val."\t";
}else
if($currentColumn <= $allColumn){
$data1[$currentColumn]=$val;
}
}
foreach($data as $key=>$val){
$data2[$val]=$data1[$key];
}
$connection =
\Yii::$app->db;
$connection->createCommand()->insert("curls",$data2)->execute();
}
echo "ok";
}