thinkphp3.2读取Excel文件

来源:互联网 发布:巴洛特利废了知乎 编辑:程序博客网 时间:2024/05/18 02:08
由于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;
}

原创粉丝点击