Maison > développement back-end > tutoriel php > Comment importer des fichiers PHPExcel dans Thinkphp3.2.3

Comment importer des fichiers PHPExcel dans Thinkphp3.2.3

零到壹度
Libérer: 2023-03-23 16:14:02
original
2031 Les gens l'ont consulté

Cet article vous expliquera comment importer des fichiers PHPExcel dans Thinkphp3.2.3. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer

1. le plug-in PHPExcel :

Version ThinkPHP : 3.2.3
Version PHPExcel : 1.8

PHPExcel Adresse officielle de téléchargement : https://github.com/PHPOffice/PHPExcel

2 Après décompression, elle est la suivante :


Tant que le dossier Classes est utilisé, les autres ne servent à rien Changez le nom du dossier classes en PHPExcel (nommez-le comme vous voulez)

3. Copiez le fichier PHPExcel dans Thinkphp à l'emplacement suivant :


4. Tout est prêt, commencez comme nous faisons le voyage.


Code frontal :

<form action="{:U(&#39;Index/upload&#39;)}" method="post" enctype="multipart/form-data">
   <ul>
 
       <li><input type="file" name="files" /></li> 
       <li><input type="submit" value="上传" /></li>
   </ul>
</form>
Copier après la connexion

Code backend (méthode de téléchargement dans IndexController.class.php) :

public function upload(){    

    if(isset($_FILES["files"]) && ($_FILES["files"]["error"] == 0)){        
    $result = importExecl($_FILES["files"]["tmp_name"]);        
    echo &#39;<pre />&#39;;        
    print_r($result);        
    die;           
      }    
    }
Copier après la connexion


importExecl Écrit en méthode publique, l'emplacement est le suivant



Le code de la méthode publique est le suivant :

function importExecl($file=&#39;&#39;, $sheet=0){   
   $file = iconv("utf-8", "gb2312", $file);                  //转码      
   if(empty($file) OR !file_exists($file)) {     
        die(&#39;file not exists!&#39;);      
   }      
   vendor("PHPExcel.PHPExcel");                             // 引入我们自己导入的文件    
   $objRead = new PHPExcel_Reader_Excel2007();   //建立reader对象      
   if(!$objRead->canRead($file)){     
        $objRead = new PHPExcel_Reader_Excel5();          
        if(!$objRead->canRead($file)){        
              die(&#39;No Excel!&#39;);         
        }      
    }        
    
    $cellName = array(&#39;A&#39;, &#39;B&#39;, &#39;C&#39;, &#39;D&#39;, &#39;E&#39;, &#39;F&#39;, &#39;G&#39;, &#39;H&#39;, &#39;I&#39;, &#39;J&#39;, &#39;K&#39;,
     &#39;L&#39;, &#39;M&#39;, &#39;N&#39;, &#39;O&#39;, &#39;P&#39;, &#39;Q&#39;, &#39;R&#39;, &#39;S&#39;, &#39;T&#39;, &#39;U&#39;, &#39;V&#39;, &#39;W&#39;, 
     &#39;X&#39;, &#39;Y&#39;, &#39;Z&#39;, &#39;AA&#39;, &#39;AB&#39;, &#39;AC&#39;, &#39;AD&#39;, &#39;AE&#39;, &#39;AF&#39;, &#39;AG&#39;, &#39;AH&#39;, &#39;AI&#39;,
      &#39;AJ&#39;, &#39;AK&#39;, &#39;AL&#39;, &#39;AM&#39;, &#39;AN&#39;, &#39;AO&#39;, &#39;AP&#39;, &#39;AQ&#39;, &#39;AR&#39;, &#39;AS&#39;, &#39;AT&#39;, &#39;AU&#39;,
       &#39;AV&#39;, &#39;AW&#39;, &#39;AX&#39;, &#39;AY&#39;, &#39;AZ&#39;);    
       
           $obj = $objRead->load($file);  //建立excel对象      
           $currSheet = $obj->getSheet($sheet);   //获取指定的sheet表      
           $columnH = $currSheet->getHighestColumn();   //取得最大的列号      
           $columnCnt = array_search($columnH, $cellName);      
           $rowCnt = $currSheet->getHighestRow();   //获取总行数        
           
           $data = array();      
           for($_row=1; $_row<=$rowCnt; $_row++){  //读取内容        
             for($_column=0; $_column<=$columnCnt; $_column++){         
                  $cellId = $cellName[$_column].$_row;              
                  $cellValue = $currSheet->getCell($cellId)->getValue();               
                  //$cellValue = $currSheet->getCell($cellId)->getCalculatedValue();  #获取公式计算的值              
                  if($cellValue instanceof PHPExcel_RichText){   //富文本转换字符串            
                        $cellValue = $cellValue->__toString();              
                   }                
                   
                   $data[$_row][$cellName[$_column]] = $cellValue;         
                   }      
            }        
            return $data;  
    }
Copier après la connexion

5. Enfin, téléchargez le fichier XLS. réussi, imprimez-le comme suit :



6. Enfin, le code est relativement simple à écrire , et le fichier Vous pouvez vérifier le type et la taille vous-même, je ne les écrirai donc pas ici. J'ai personnellement testé le code ci-dessus et n'ai trouvé aucun problème.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal