Heim > Backend-Entwicklung > PHP-Tutorial > phpExcel liest Excel-Dateien

phpExcel liest Excel-Dateien

巴扎黑
Freigeben: 2016-11-22 16:56:32
Original
2207 Leute haben es durchsucht

Der vorherige Blog-Beitrag enthielt eine kurze Zusammenfassung der von PHPExcel exportierten Excel-Datei. Jetzt werde ich die folgende Zusammenfassung zum Lesen von Excel erstellen. (Wenn die Datenmenge nicht sehr groß ist, können Sie sie mit dieser Methode direkt über das Web lesen. Wenn die Datenmenge sehr groß ist, wird empfohlen, dass das Web nur die Upload-Funktion sowie das Lesen und Verarbeiten durchführt sollte im Hintergrund belassen werden. PHPExcel ist immer noch relativ zeitaufwendig, Speicher.)

Beispielcode:

//首先导入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;
    
    }
}
Nach dem Login kopieren

Was hier erklärt werden muss die „Rich-Text-Konvertierungszeichenfolge“ im obigen Kommentar.

Wenn PHPExcel eine EXCEl-Datei liest und der Inhalt in der Zelle zwei Schriftarten hat, liest es ein Rich-Text-Objekt:

Beispiel: Es gibt Inhalt in der Zelle: „Test 1“ , die „Test“-Schriftart in der ersten Hälfte ist Song Dynasty und die „1“-Schriftart in der zweiten Hälfte ist Calibri. Verwenden Sie zu diesem Zeitpunkt

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

Den Wert der Zelle abrufen. Und drucken Sie:

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
                                )
                        )
                )
Nach dem Login kopieren

Sie sehen, dass der Textinhalt einer solchen Zelle nicht direkt gelesen werden kann. (Hinweis: Der Rich-Text hier ist meine eigene Übersetzung, ich weiß nicht, ob er korrekt ist).

Zusätzlich sind die Funktionen zum Lesen von Zellen:

//Spalten beginnen bei 0, Zeilen beginnen bei 1

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


Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage