首頁 >後端開發 >php教程 >PHPExcel读取excel文件

PHPExcel读取excel文件

WBOY
WBOY原創
2016-06-23 13:27:44972瀏覽

建议web只做上传功能,读取、处理还是放后台吧。PHPExcel还是比较耗费时间、内存的。

实例代码:

error_reporting(0);
require_once 'PHPExcel_1.8.0/Classes/PHPExcel.php';     //修改为自己的目录
echo '

TEST PHPExcel 1.8.0: read xlsx file

';
 
$filePath = "cdkey.xlsx";  
 
//建立reader对象  
$PHPReader = new PHPExcel_Reader_Excel2007();  
if(!$PHPReader->canRead($filePath)){  
    $PHPReader = new PHPExcel_Reader_Excel5();  
    if(!$PHPReader->canRead($filePath)){  
        echo 'file is not excel';  
        return ;  
    }  
}  
 
//建立excel对象,此时你即可以通过excel对象读取文件,也可以通过它写入文件  
$PHPExcel = $PHPReader->load($filePath);  
 
/**读取excel文件中的第一个工作表*/  
$currentSheet = $PHPExcel->getSheet(0);  
/**取得最大的列号*/  
$allColumn = $currentSheet->getHighestColumn();  
/**取得一共有多少行*/  
$allRow = $currentSheet->getHighestRow();  
 
//循环读取每个单元格的内容。注意行从1开始,列从A开始  
for($rowIndex=1;$rowIndex     for($colIndex='A';$colIndex         $addr = $colIndex.$rowIndex;  
        $cell = $currentSheet->getCell($addr)->getValue();  
        if($cell instanceof PHPExcel_RichText)     //富文本转换字符串  
            $cell = $cell->__toString();  
        $arrExcel[$rowIndex][$colIndex]=$cell;       
      
    }  
 
}

//print_r($arrExcel);exit;


PHPExcel_RichText Object(
    [_richTextElements:private] => Array
     (
               [0] => PHPExcel_RichText_TextElement Object ([_text:private] => 测试)
                     [1] => PHPExcel_RichText_Run Object
                     (
                         [_font:private] => PHPExcel_Style_Font Object
                               (
                                    [_name:private] => Calibri
                                        [_size:private] => 11
                                        [_bold:private] =>
                                        [_italic:private] =>
                                        [_superScript:private] =>
                                        [_subScript:private] =>
                                        [_underline:private] => none
                                        [_strikethrough:private] =>
                                        [_color:private] => PHPExcel_Style_Color Object
                                        (
                                            [_argb:private] => FF000000
                                            [_isSupervisor:private] =>
                                            [_parent:private] =>
                                            [_parentPropertyName:private] =>
                                        )
                                        [_parentPropertyName:private] =>
                                        [_isSupervisor:private] =>
                                        [_parent:private] =>
                                        [colorIndex] => 8
                                    )
                                    [_text:private] => 1
                                )
                        )
                )

可以看到对这样的单元格不能直接读取单元格的文本内容。(注:这里的富文本是我自己的翻译,不知对否)。

另外,读取单元格的函数还有:

//列从0开始,行从1开始

$currentSheet ->getCellByColumnAndRow($colIndex,$rowIndex)->getValue();


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn