首頁 >後端開發 >php教程 >phpExcel讀取excel文件

phpExcel讀取excel文件

巴扎黑
巴扎黑原創
2016-11-22 16:56:322240瀏覽

之前的部落格文章已經對PHPExcel匯出excel檔案做了簡單的總結,現對他讀取excel做以下總結。 (資料量不會很大的建置可以採用web直接用此方法讀取,如果資料量會很大的話,還是建議web只做上傳功能,讀取、處理還是放後台吧。PHPExcel還是比較耗費時間、記憶體的。

   PHPExcel讀取EXCEl文件中,如果單元格中的內容有兩種字體時,讀到的是富文本的對象:例如:單元格中有內容:“測試1”,其中前半部分的“測試」字體為宋體,後半部的「1」字體為Calibri,此時透過

    $cell = $sheet->getCell($addr)->getValue();

取得單元格的值。並且列印:

//首先导入PHPExcel
require_once 'PHPExcel.php';
$filePath = "test.xlsx";
//建立reader对象
$PHPReader = new PHPExcel_Reader_Excel2007();
if(!$PHPReader->canRead($filePath)){
    $PHPReader = new PHPExcel_Reader_Excel5();
    if(!$PHPReader->canRead($filePath)){
        echo 'no 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<=$allRow;$rowIndex++){
    for($colIndex=&#39;A&#39;;$colIndex<=$allColumn;$colIndex++){
        $addr = $colIndex.$rowIndex;
$cell = $currentSheet->getCell($addr)->getValue();
        if($cell instanceof PHPExcel_RichText)     //富文本转换字符串
$cell = $cell->__toString();
            
        echo $cell;
    
    }
}

可以看到對這樣的單元格不能直接讀取單元格的文字內容。 (註:這裡的富文本是我自己的翻譯,不知對否)。

另外,讀取單元格的函數還有:

//列從0開始,行從1開始

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

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