PHPExcel插件的使用2——基本数据导入

本文介绍PHPExcel插件在PHP中用于Excel文件数据导入的方法。包括直接导入数组、逐行导入及选择特定工作表进行导入的方式,并提供了详细的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PHPExcel插件的使用2——基本数据导入

本文归纳了phpexcel简单的数据导入,总体分为
    文件直接导入数组,操作简单,消耗内存
    逐行导入,操作繁杂,节约内存
    全部sheet导入
    选择不同sheet导入

    各个常用函数的用法,都在代码中有所体现

基本步骤

1导入PHPExcel_IOFactory类文件
    require './PHPExcel/IOFactory.php';
2加载文件
    全部导入情况下
    1)$PHPExcelObj = PHPExcel_IOFactory::load($fileName);
    选择sheet情况下
    2)//挑选sheet读取
        //获取文件类型
        $fileType = PHPExcel_IOFactory::identify($fileName);
        //获取文件操作对象
        $inputObj = PHPExcel_IOFactory::createReader($fileType);
        //挑选需要导入的sheet,如果单个sheet可以写成字符串,多个就是数组
        $sheetName = array('甘肃_42','广东_37');
        //加载指定的sheet
        $inputObj -> setLoadSheetsOnly($sheetName);
        //加载文件
        $PHPExcelObj = $inputObj->load($fileName); 
3导出数据
    1)全部导出
     $sheetCount = $PHPExcelObj->getSheetCount();
    //循环sheet导入
    $input = array();
    for($i=0;$i<$sheetCount;$i++){ 
        $input[$i] = $PHPExcelObj->getSheet($i)->toArray();
    }
    var_dump($input);

    2)逐个单元格导出
    //遍历每一个sheet
    foreach($PHPExcelObj->getWorksheetIterator() as $sheet){
        //遍历出的sheet逐行读取,
        foreach($sheet->getRowIterator() as $row){ 
            /*
            //如果不要第一行,操作就是获取行数,略过
            if($row->getRowIndex() == 1){ //获取此row属于第几行
                continue;
            }
            */
            //将遍历出的行,遍历每一个单元格,也就是列
            foreach($row->getCellIterator() as $cell){
                //获取每一个单元格的值 
                $data_cell = $cell->getValue();
                echo $data_cell.'  ';
            }
            echo "<br>";
        }
        echo "<hr>";
    }

实例代码

<?php
header('content-type:text/html;charset=utf-8');
//本脚本所在路径
$dir = dirname(__FILE__);
//引入phpexcel导入的类文件
require './PHPExcel/IOFactory.php';
//引入需要导入的文件
$fileName = $dir.'/vr_class_sheets_perupload.xlsx';
/*

//加载文件,若是需要全部读取sheet的话直接加载
$PHPExcelObj = PHPExcel_IOFactory::load($fileName);

*/

//挑选sheet读取
//获取文件类型
$fileType = PHPExcel_IOFactory::identify($fileName);
//获取文件操作对象
$inputObj = PHPExcel_IOFactory::createReader($fileType);
//挑选需要导入的sheet,如果单个sheet可以写成字符串,多个就是数组
$sheetName = array('甘肃_42','广东_37');
//加载指定的sheet
$inputObj -> setLoadSheetsOnly($sheetName);
//加载文件
$PHPExcelObj = $inputObj->load($fileName); 
/*

//-----方法1-----全部导入,操作简单,消耗内存----------
    //查询excel中sheet的数量
    $sheetCount = $PHPExcelObj->getSheetCount();
    //循环sheet导入
    $input = array();
    for($i=0;$i<$sheetCount;$i++){ 
        $input[$i] = $PHPExcelObj->getSheet($i)->toArray();
    }
    var_dump($input);
//-----------------------end-------------------------

*/

//------方法2----逐行导入,操作复杂,不消耗内存--------
    //遍历每一个sheet
    foreach($PHPExcelObj->getWorksheetIterator() as $sheet){
        //遍历出的sheet逐行读取,
        foreach($sheet->getRowIterator() as $row){ 
            /*
            //如果不要第一行,操作就是获取行数,略过
            if($row->getRowIndex() == 1){ //获取此row属于第几行
                continue;
            }
            */
            //将遍历出的行,遍历每一个单元格,也就是列
            foreach($row->getCellIterator() as $cell){
                //获取每一个单元格的值 
                $data_cell = $cell->getValue();
                echo $data_cell.'  ';
            }
            echo "<br>";
        }
        echo "<hr>";
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值