Heim >Backend-Entwicklung >PHP-Tutorial >PHPExcel读取excel文件

PHPExcel读取excel文件

WBOY
WBOYOriginal
2016-06-23 13:27:44972Durchsuche

建议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();


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn