<?php
Yii::import('application.extensions.*');
require_once('PHPExcel/PHPExcel.php');
require_once 'PHPExcel/PHPExcel/Writer/Excel5.php'; // 用于其他低版本xls
require_once 'PHPExcel/PHPExcel/Writer/Excel2007.php'; // 用于 excel-2007 格式
...public function actionUpload()
{
spl_autoload_unregister(array('YiiBase', 'autoload'));
$phpExcelPath = Yii::getPathOfAlias('application.extensions.PHPExcel.PHPExcel');
include($phpExcelPath . DIRECTORY_SEPARATOR . 'IOFactory.php');
spl_autoload_register(array('YiiBase', 'autoload')); //前提工作
if (isset($_POST['submit'])) {
$file_temp = CUploadedFile::getInstanceByName('files');
$file1 = $file_temp->getName();
$file = iconv("utf-8", "gb2312", $file1); //中文乱码
$file_dir = YiiBase::getPathOfAlias('webroot') . '/assets/upload/subject/' . $file;
$file_temp->saveAs($file_dir, true);
$objReader = PHPExcel_IOFactory::createReader('Excel5'); //use excel2007 for 2007 format
$objPHPExcel = $objReader->load($file_dir);
$sheet = $objPHPExcel->getSheet(0);
$total_line = $sheet->getHighestRow(); // 取得总行数
//$total_column = $sheet->getHighestColumn(); // 取得总列数
for ($row = 2; $row <= $total_line; $row++) {
$a = $objPHPExcel->getActiveSheet()->getCell("A" . $row)->getValue(); //获取A列的值(ID)
$b = $objPHPExcel->getActiveSheet()->getCell("B" . $row)->getValue(); //获取B列的值(ID)
$model = new Subject;
$model->name = $a;
$model->credit = $b;
$model->save();
}
$this->redirect(array('admin'));
}
$this->render('upload');
}原文地址:http://blog.csdn.net/liuruiqun/article/details/45719487