您的位置:首页 > 编程语言 > PHP开发

thinkphp3.2读取Excel文件

2017-05-27 15:47 316 查看
由于thinkphp3.2使用命名空间,而 PHPExcel没有使用,那么两者整合的最重要问题就是如何导入的问题。
PHPExcel.php和PHPExcel文件夹都放在ThinkPHP/Library/Org/Util下,PHPExcel.php修改为PHPExcel.class.php。

function rewardsExcel($fileURL) {
    //导入PHPExcel类库,因为PHPExcel没有用命名空间,只能import导入
    $filesInfo = explode('.', $fileURL);
    import("Org.Util.PHPExcel");
    //判断excel版本,导入不同文件
    if ($filesInfo[1] == 'xls') {
        //如果excel文件后缀名为.xls,导入这个类
        import("Org.Util.PHPExcel.Reader.Excel5");
        $PHPReader = new \PHPExcel_Reader_Excel5();
    } else {
        //如果excel文件后缀名为.xlsx,导入这个类
        import("Org.Util.PHPExcel.Reader.Excel2007");
        $PHPReader = new \PHPExcel_Reader_Excel2007();
    }
//载入文件
    $fileURL = '.' . $fileURL;
    $PHPExcel = $PHPReader->load($fileURL);
//获取表中的第一个工作表,如果要获取第二个,把0改为1,依次类推
    $currentSheet = $PHPExcel->getSheet(0);
//    $allColumn = $currentSheet->getHighestColumn();  //获取总列数
    $allRow = $currentSheet->getHighestRow();  //获取总行数
//导入PHPExcel.Shared.Date 用以处理时间类型
    import("Org.Util.PHPExcel.Shared.Date");
    $Shared_Date = new \PHPExcel_Shared_Date();
//循环获取表中的数据,
    for ($Row = 2; $Row <= $allRow; $Row++) {
        $List[] = array(
            'user_id' => $currentSheet->getCell('A' . $Row)->getValue();
            'title' => $currentSheet->getCell('B' . $Row)->getValue(),
            'organization' => $currentSheet->getCell('C' . $Row)->getValue(),
            'status' => 2,
            'content' => $currentSheet->getCell('D' . $Row)->getValue(),
            'money' => $currentSheet->getCell('E' . $Row)->getValue(),
            'get_time' => $Shared_Date->ExcelToPHP($currentSheet->getCell('F' . $Row)->getValue())//日期格式转换
        );
    }
    return $List;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: