* @param $filename 上传文件路径及名字
* @param string $encode 编码
* @return array
* PHPExecl类 上传文件
*/
function read($filename, $encode = 'utf-8')
{
require_once './ThinkPHP/Library/Org/PHPExcel/PHPExcel.php';
require_once './ThinkPHP/Library/Org/PHPExcel/PHPExcel/IOFactory.php';
require_once './ThinkPHP/Library/Org/PHPExcel/PHPExcel/Reader/Excel5.php';
$objReader = \PHPExcel_IOFactory::createReader('excel2007');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($filename);
$objWorksheet = $objPHPExcel->getActiveSheet();
$highestRow = $objWorksheet->getHighestRow();
$highestColumn = $objWorksheet->getHighestColumn();
$highestColumnIndex = \PHPExcel_Cell::columnIndexFromString($highestColumn);
$excelData = array();
for ($row = 1; $row <= $highestRow; $row++) {
for ($col = 0; $col < $highestColumnIndex; $col++) {
$excelData[$row][] = (string)$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
}
}
return $excelData;
}
/**
* 上传execl表格
*/
public function importExcel()
{
if (!empty ($_FILES)) {
$upload = new \Think\Upload(); // 实例化上传类
$upload->maxSize = 10485760; // 设置附件上传大小
$upload->exts = array('xls', 'xlsx'); // 设置附件上传类型
$savePath = $upload->rootPath = './Public/Excel/'; // 设置附件上传根目录
$file_name = $upload->saveName = date("ymd") . rand(100, 999);
$upload->autoSub = false; // 将自动生成以photo后面加时间的形式文件夹,关闭
// 上传文件
$info = $upload->upload();
$exts = $info['excel']['ext'];
if (!$info) {
$this->error($upload->getError());
} else {
$res = $this->read($savePath . $file_name . '.' . $exts);
foreach ($res as $k => $v) {
if ($k != 1) {
$data ['id'] = $v [0];
$data ['ci'] = $v [1];
$data ['juzi'] = $v [2];
$data ['ci_name'] = $v [3];
$data ['ju_name'] = $v [4];
$data ['time'] = date('Ymd');
$result = M('make_mp3')->add($data);
// echo M('make_mp3')->_sql();die;
if (!$result) {
$this->error('导入数据库失败');
}
}
}
$this->success('新增成功!', '/index.php?m=Home&c=Spvoice&a=toDay');
}
} else {
$this->display();
}
}