excel+PHPExcel+导入用例

6 篇文章 0 订阅

test_import.html内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
    <meta charset="UTF-8">
    <title>uploadExcel</title>
    <script>
    </script>
</head>
<body>
     <form action="http://localhost:xx/xxxx/import" method="post" enctype="multipart/form-data">
  <p>First name: <input type="file" name="excelName" /></p>
  <input type="submit" value="Submit" />
</form>
</body>

</html>

服务端代码为:

header('Content-Type:text/html; charset= utf-8');
$name = $_FILES['excelName']['name'];
$size = $_FILES['excelName']['size'];
// 判断文件的类型
$type = strstr($name, '.');
if ($type != ".xlsx" ) {
    echo "导入文件类型不符合要求";
}
$file = $_FILES['excelName']['tmp_name'];
$data = getDataByXlsx($file);

foreach($data as $d)
{
    var_dump($d);
    echo "\r\n";
}

die();


public  function getDataByXlsx($path)
{
    /*dirname(__file__): 当前代码所在的目录,$path: ”/文件名“ */
    $excelObj = new LExcelHelper();// 之前有提到PHPExcel的命名空间使用
    $PHPReader = \PHPExcel_IOFactory::createReaderForFile($path);
    /*加载当前目录下边的文件*/
    $PHPExcel = $PHPReader->load($path);
    /*获取表的第一个sheet*/
    $currentSheet = $PHPExcel->getSheet(0);
     /*获取表里内容的最大列数*/
    $allColumn = $currentSheet->getHighestColumn();
    /*获取表里内容的最大行数*/
    $allRow = $currentSheet->getHighestRow();
    $data = array();

    for ($currentRow = 1; $currentRow <= $allRow; $currentRow++) {
        for($currentColumn= 'A'; $currentColumn<= $allColumn; $currentColumn++){
            $address = $currentColumn.$currentRow;
            $val = $currentSheet->getCell($address)->getValue();
            $data[$currentRow - 1][$currentColumn] = $val;
        }
    }
    if (empty($data)) {
        return ['error' => 1, 'message' => 'data is empty'];
    }
    return $data;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值