php導入excel讀取內容

php導入excel表,在讀取內容的時候,如今還有excel不一樣版本,根據不一樣版本作兼容php

建立一個html  ,以下html

 

<html>
<head>
  <title>批量導入數據</title>
</head>json

<body>api

<form action="index2.php" method="post" id="form1" enctype="multipart/form-data">
    <input type="file" name="excel" value="導入">
    <button type="submit" class="layui-btn">肯定</button>
</form>post

</body>
</html>ui

 

建立一個php  以下excel

<?php
header("Content-Type: text/html;charset=utf-8");code

//$save_files = $_SERVER['DOCUMENT_ROOT'].'/upload';  //pc 電腦版  路徑要正確,沒有就建立
$save_files = $_SERVER['DOCUMENT_ROOT'].'/mobile/api/upload';  //Linux   這個路徑得有權限才能夠 設置 0777 
//這個是以年月日新建的文件夾,僅供參考。orm

//這個是上傳文件到須要保存的位置,
$upload_name='excel';
$file_path = $_FILES[$upload_name]["name"];htm

if(!@move_uploaded_file($_FILES[$upload_name]["tmp_name"],$save_files.'/'.$file_path)){
    $error = "error|上傳文件錯誤.".$save_files.'/'.$file_path;
    print_r($error);
    exit(0);

//$type = isset($_FILES[$upload_name]['type'])?$_FILES[$upload_name]['type']:'';//這個能夠註釋

$file_name = $save_files.'/'.$file_path;    //獲取上傳文件的地址名稱

require_once "PHPExcel.php";
require_once "PHPExcel/IOFactory.php";
require_once "PHPExcel/Cell.php";


$objReader = PHPExcel_IOFactory::createReader('Excel2007');
if(!$objReader->canRead($file_name)) {
    $objReader = PHPExcel_IOFactory::createReader('Excel5');
    if(!$objReader->canRead($file_name)) return '版本不對';
}

//$objReader = PHPExcel_IOFactory::createReader('excel2007'); //創建reader對象
//$objReader = PHPExcel_IOFactory::createReader('excel5'); //創建reader對象
$objPHPExcel = $objReader->load($file_name);
$sheet = $objPHPExcel->getSheet();
$highestRow = $sheet->getHighestDataRow(); // 取得總行數

$highestColumn_num = PHPExcel_Cell::columnIndexFromString($sheet->getHighestDataColumn());    //列數

//$columns = PHPExcel_Cell::getColumn($highestColumn_num);
$columns = array('A','B','C','D','E','F','G');

$arr_result = array();
$dealer_element = array();

for ($j = 2; $j <= $highestRow; $j++) {
    for ($k = 0; $k < count($columns); $k++) {
        //讀取單元格
        $value = $objPHPExcel->getActiveSheet()->getCell($columns[$k] . $j)->getValue();//這個就是獲取每一個單元格的值

        $value = trim($value);
        if (empty($value)) {
            $value = NULL;
        }
    $dealer_element[$k] = $value;
    //這裏能夠根據要求,作一些數據的驗證
    }

    $arr_result[$j] = $dealer_element;
}

echo json_encode($arr_result);

?>

 

相關資料請下載

連接:https://pan.baidu.com/s/1e0XdFd-YXNLCMgWd_ZGp1A 
提取碼:mgzc 
 

請你們多多指教