phpexcel读取excel文件

首先要引入类库 

require_once dirname(__FILE__) . '/../Classes/PHPExcel.php';

require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php';
set_time_limit(900);//设置超时
ini_set("memory_limit", "1024M");//使用内存限制
$inputFileName = 'D:/wamp/vhosts/a.8g.com/Upload/111.xls';

$inputFileType = 'Excel5';//写入有用

$objPHPExcel = \PHPExcel_IOFactory::load($inputFileName); 


$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
var_dump($sheetData);


$sheet_count = $objPHPExcel->getSheetCount(); 
for ($s = 0; $s <$sheet_count; $s++) 
{ 
    $currentSheet = $objPHPExcel->getSheet($s);// 当前页 
    $row_num = $currentSheet->getHighestRow();// 当前页行数 
    $row_num = 10;
    $col_max = $currentSheet->getHighestColumn(); // 当前页最大列号 
 
//    // 循环从第二行开始,第一行往往是表头 
//    for($i = 2; $i <= $row_num; $i++) 
//    { 
//        $cell_values = array(); 
//        for($j = 'A'; $j <$col_max; $j++) 
//        { 
//            $address = $j . $i; // 单元格坐标 
//            $cell_values[] = $currentSheet->getCell($address)->getFormattedValue(); 
//        } 
// 
//         //看看数据 
//        print_r($cell_values); 
//    } 
}

我thinkphp里面的一段代码

public function getExcelData($filePath)
    {
        vendor('PHPExcel.PHPExcel.IOFactory','','.php');
        $inputFileType = 'Excel5';
        $objPHPExcel = \PHPExcel_IOFactory::load($filePath); 

            // 读取规则 
        $sheet_read_arr = array(); 
        $sheet_read_arr["Page1"] = array("A","K","L","S","M","T"); 
        //$sheet_read_arr["sheet2"] = array("A","B","C","D","F"); 
 
        // 循环所有的页 
        foreach ($sheet_read_arr as $key => $val) 
        { 
            $currentSheet = $objPHPExcel->getSheetByName($key);// 通过页名称取得当前页 
            $row_num = $currentSheet->getHighestRow();// 当前页行数 
             $result = array();
            
            // 循环从第二行开始,第一行往往是表头 
            for ($i = 1; $i <= $row_num; $i++) 
            { 
                $cell_values = array(); 
                foreach ($val as $cell_val) 
                { 
                    $address = $cell_val . $i;// 单元格坐标 
         
                    // 读取单元格内容 
                    $cell_values[] = $currentSheet->getCell($address)->getFormattedValue(); 
                } 
         
                // 看看数据 
                $result[] = $cell_values;
            } 
            return $result;
        }

++++++++++++++++++++++++++++++++

参考

set_time_limit(0); //设置页面等待时间
$file_arr = upload_excel();
$type = $file_arr['excel']['ext'];
$uploadfile = "./Public/".$file_arr['excel']['savepath'].$file_arr['excel']['savename'];
if ($uploadfile) {
    require './ThinkPHP/Library/Vendor/PHPExcel/PHPExcel/IOFactory.php';
    if($type=='xlsx'||$type=='xls' ){
        $reader = \PHPExcel_IOFactory::createReader('Excel2007'); // 读取 excel 文档
    }else if( $type=='csv' ){
        $reader = \PHPExcel_IOFactory::createReader('CSV'); // 读取 excel 文档
    }else{
        die('Not supported file types!');
    }

    $PHPExcel = $reader->load($uploadfile); // 文档名称
    $objWorksheet = $PHPExcel->getActiveSheet();
    $highestRow = $objWorksheet->getHighestRow(); // 取得总行数
    $highestColumn = $objWorksheet->getHighestColumn(); // 取得总列数
    $arr = array(1 => 'A', 2 => 'B', 3 => 'C', 4 => 'D', 5 => 'E', 6 => 'F', 7 => 'G', 8 => 'H', 9 => 'I', 10 => 'J', 11 => 'K', 12 => 'L', 13 => 'M', 14 => 'N', 15 => 'O', 16 => 'P', 17 => 'Q', 18 => 'R', 19 => 'S', 20 => 'T', 21 => 'U', 22 => 'V', 23 => 'W', 24 => 'X', 25 => 'Y', 26 => 'Z');
    //echo $highestRow.$highestColumn;
    // 一次读取一列
    $res = array();
    for ($row = 2; $row <= $highestRow; $row++) {
        for ($column = 0; $arr[$column] != 'T'; $column++) {
            $val = $objWorksheet->getCellByColumnAndRow($column, $row)->getValue();
            $res[$row-2][$column] = $val;
        }
    }
--------------------- 
作者:会跳的绿豆 
来源:优快云 
原文:https://blog.youkuaiyun.com/ning521513/article/details/55257925 
版权声明:本文为博主原创文章,转载请附上博文链接!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值