1、首先先把phpexcel的扩展文件放到 ThinkPHP\Library\Vendor目录下
点我下载phpexcel扩展
TP的文件上传我就不说了,话不多说,先上代码
//判断上传的是否是xlsx文件
if ($_FILES['xlsx']) {
$xlsx = self::upload_photo($_FILES['xlsx'], ['xlsx']); // 只有.xlsx 格式的图片才可以 添加,调用upload_photo方法
if($xlsx){
$fileModel = new FileModel();
$path = $xlsx['src']; //获取图像文件url
}
}
vendor('PHPExcel');
$excel = \PHPExcel_IOFactory::load($path);
$excel->setActiveSheetIndex(0);
$sheet0 =$excel->getSheet(0);
$rows =$sheet0->getHighestRow();//行数
$column =$sheet0->getHighestColumn();//最大列的字母
$columnNum =$this->cellLen[$column];//列数
$content =array();
for($currentRow = 2;$currentRow<=$rows;$currentRow++){
// 获取A行记录
$content['question_content'] = trim((string)$sheet0->getCell('A'.$currentRow)->getValue());
// 获取B行记录
$content['answer_option'] = trim((string)$sheet0->getCell('B'.$currentRow)->getValue());
// 获取C行记录
$content['question_answer'] = trim((string)$sheet0->getCell('C'.$currentRow)->getValue());
// 获取D行记录
$content['question_type'] = trim((string)$sheet0->getCell('D'.$currentRow)->getValue());
// 获取D行记录,这个在excel中是日期,需要转换才能用
$content['add_time'] = $this->excelTime(trim((string)$sheet0->getCell('E'.$currentRow)->getValue()));
//获取到数据,接下来做你想要的操作就好了
}
unlink($path);
附上upload_photo方法
/**
* 上传文件
* @param array $file - $_FILES文件h
* @param string $path
* @return string
*/
public function newupload($files,$ext=null) {
$ymd = date("Ymd");
$ymd_path = substr($ymd,0,4).'/'.substr($ymd,4,2).'/'.substr($ymd,6,2);
$fileArr = array();
//把多个图的数组转换从array('name'=>array('',''),'type'=>array('',''))为 array(0=>array('name'=>'','type'=>''),1=>array())形式
if(is_array($files)) {
foreach($files as $k=>$v) {
foreach($v as $num=>$vv) {
$fileArr[$num][$k] = $vv;
}
}
}else {
$fileArr = array($files);
}
//文件名称
//unset($files);
$ret = array();
foreach($fileArr as $file) {
if (!$file['name']) {
continue;
}
$file_ext = substr($file['name'],strrpos($file['name'],'.')+1);
$my_ext = strtolower($file_ext);
//过滤php文件上传
if($my_ext == 'php'){
$this->error("php文件不允许上传!");
}
if(!is_null($ext) && !in_array($my_ext,$ext)){
continue;
}
$filename = md5(time() . $file['name'] . rand(1, 93333333)) . "." . $file_ext;
$relative_dir = C('DEFAULT_WORK_FILE_PATH') . '/' . $ymd_path;
if(!is_dir($relative_dir)) {
mkdir($relative_dir, 0777, true);
}
$relative_path = $relative_dir . '/' . $filename;
move_uploaded_file($file['tmp_name'], $relative_path);
$suffixArr = explode('.', $filename);
$ret[] = array(
'src' => $filename,
'path' => $relative_dir . '/'
);
}
return $ret;
}
/**
* 上传单张图片
* @param array $files
* @param string $path
* @return Ambigous <string, multitype:string >
*/
public function upload_photo($files,$ext=null) {
$files = self::newupload($files,$ext);
return $files[0];
}
<h1>本文为原创文章,转载请注明出处</h1>
<h1>觉得本文对你有帮助</h1>
关注简书mid米店,持续分享中。。。
网友评论