excel文件内容导入数据库是非常常见的功能。在前段时间刚刚接触到它。这里简单说一下自己的理解。
第一步:PHPExcel类文件,引入到项目类库里。具体下载地址百度搜索即可。
第二步:在前端页面上传所需导入的excel文件。
文件上传方法代码如下:
public function fileupload() {//判断文件类型以及限制大小 if (($_FILES["file"]["type"] == "application/vnd.ms-excel"|| $_FILES["file"]["type"]=="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") && $_FILES["file"]["size"] < 2000000) { if ($_FILES["file"]["error"] > 0) { $this->error= $_FILES["file"]["error"]; } else { $directory = rtrim(DIR_IMAGE . $this->path);//文件路径 if (!is_dir($directory)) {//判断路径是否存在 mkdir($directory, 0777); } move_uploaded_file($_FILES["file"]["tmp_name"], $directory . $_FILES["file"]["name"]); $this->filename=$_FILES["file"]["name"];//保存文件名 } } else { $this->error="文件类型或大小出错!"; } return $this->error? false:true; }
第三步:将文件内容读入到一个数组中。
public function read($filename,$encode='utf-8'){ $excelData = array(); $objReader = new PHPExcel_Reader_Excel2007(); if(!$objReader->canRead($filename)){//如果文件不是.xlsx或.xls则返回空 $objReader = new PHPExcel_Reader_Excel5(); if (!$objReader->canRead($filename)){ $this->error="excel文件错误!"; return ''; } } $objPHPExcel = $objReader->load($filename); $objWorksheet = $objPHPExcel->getActiveSheet(); $highestRow = $objWorksheet->getHighestRow();//行 $highestColumn = $objWorksheet->getHighestColumn();//列 $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);//字符列表转换为数字列表 for ($row = 1; $row <= $highestRow; $row++) { for ($col = 0; $col < $highestColumnIndex; $col++) { $cell = (string)$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();//读取单元格数据 $excelData[$row][$col] = $cell; } } return $excelData; }
第四步:对读取到的数组进行处理,插入数据库中。每个项目处理方法都不同这里就不附上代码了。
上一篇:
php表单的验证详解
下一篇:
PHP汉字转拼音源码
友情提示:垃圾评论一律封号...