关于PHPExcel,phpexcel
关于PHPExcel,phpexcel
在学PHPExcel的时候,在网上查了很多资料,花了很多时间,下面是我想要分享给大家的,我找到的并进行了一定修改的亲身实践成功的资料,希望大家对大家有所帮助。
首先,需要下载PhpExcel资料,下载资料可以在这里下载,http://download.csdn.net/detail/www122930/9207061
第一,将PHPExcel文件夹,和PHPExcel.php文件放在,一个新建的文件夹Excel中,将Excel文件夹放在,E:\Workspace\PHP\thinkphp2\ThinkPHP\Extend\Vendor,E:\Workspace\PHP\thinkphp2\这一部分是你创建Thinkphp的工作目录。
第二,编写一个ExcelToArray.class.php文件,将它放在E:\Workspace\PHP\thinkphp2\ThinkPHP\Extend\Library\ORG\Util,这个目录下,ExcelToArray.class.php文件的源代码如下:
<?php class ExcelToArray { public function __construct() { Vendor("Excel.PHPExcel");//引入phpexcel类(注意你自己的路径) Vendor("Excel.PHPExcel.IOFactory"); } public function read($filename,$encode,$file_type){ if(strtolower ( $file_type )=='xls')//判断excel表类型为2003还是2007 { Vendor("Excel.PHPExcel.Reader.Excel5"); $objReader = PHPExcel_IOFactory::createReader('Excel5'); }elseif(strtolower ( $file_type )=='xlsx') { Vendor("Excel.PHPExcel.Reader.Excel2007"); $objReader = PHPExcel_IOFactory::createReader('Excel2007'); } $objReader->setReadDataOnly(true); $objPHPExcel = $objReader->load($filename); $objWorksheet = $objPHPExcel->getActiveSheet(); $highestRow = $objWorksheet->getHighestRow(); $highestColumn = $objWorksheet->getHighestColumn(); $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); $excelData = array(); for ($row = 1; $row <= $highestRow; $row++) { for ($col = 0; $col < $highestColumnIndex; $col++) { $excelData[$row][] =(string)$objWorksheet->getCellByColumnAndRow($col, $row)->getValue(); } } return $excelData; } public function push($data,$name='Excel'){ error_reporting(E_ALL); //date_default_timezone_set('Europe/London'); $objPHPExcel = new PHPExcel(); /*以下是一些设置 ,什么作者 标题啊之类的*/ $objPHPExcel->getProperties()->setCreator("转弯的阳光") ->setLastModifiedBy("转弯的阳光") ->setTitle("usertable") ->setSubject("数据EXCEL导出") ->setDescription("备份数据") ->setKeywords("excel") ->setCategory("result file"); // $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', 'username') ->setCellValue('B1', 'password') ->setCellValue('C1', 'sex'); /*以下就是对处理Excel里的数据, 横着取数据,主要是这一步,其他基本都不要改*/ for ($i = 0; $i < count($data) - 1; $i++) { $objPHPExcel->getActiveSheet(0)->setCellValue('A' . ($i + 2), $data[$i]['username']); $objPHPExcel->getActiveSheet(0)->setCellValue('B' . ($i + 2), $data[$i]['password']); $objPHPExcel->getActiveSheet(0)->setCellValue('C' . ($i + 2), $data[$i]['sex']); } $objPHPExcel->getActiveSheet()->setTitle('User'); $objPHPExcel->setActiveSheetIndex(0); ob_end_clean(); //清除缓冲区,避免乱码 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="'.$name.'.xls"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit; } }
这里有两部分,一部分read function,就是读入Excel中,即将数据库中内容导入到Excel,另一部分,push function,就是讲Excel数据上传到数据库。
第三,创建一个ExcelAction.clsaa.php,在目录E:\Workspace\PHP\thinkphp2\Home\Lib\Action下面,ExcelAction.clsaa.php源代码如下:
<span> 1</span> <?<span>php </span><span> 2</span> <span>class</span> ExcelAction <span>extends</span><span> Action { </span><span> 3</span> <span>public</span> <span>function</span><span> __construct() </span><span> 4</span> <span> { </span><span> 5</span> import('ORG.Util.ExcelToArray');<span>//</span><span>导入excelToArray类</span> <span> 6</span> <span> } </span><span> 7</span> <span> 8</span> <span>public</span> <span>function</span><span> index() </span><span> 9</span> <span> { </span><span>10</span> <span>$this</span>-><span>display(); </span><span>11</span> <span> } </span><span>12</span> <span>public</span> <span>function</span><span> add() </span><span>13</span> <span> { </span><span>14</span> dump(<span>$_FILES</span><span>); </span><span>15</span> <span>16</span> <span>$tmp_file</span> = <span>$_FILES</span> ['file_stu'] ['tmp_name'<span>]; </span><span>17</span> <span>$file_types</span> = <span>explode</span> ( ".", <span>$_FILES</span> ['file_stu'] ['name'<span>] ); </span><span>18</span> <span>$file_type</span> = <span>$file_types</span> [<span>count</span> ( <span>$file_types</span> ) - 1<span>]; </span><span>19</span> <span>20</span> <span>/*</span><span>判别是不是.xls文件,判别是不是excel文件</span><span>*/</span> <span>21</span> <span>if</span> (<span>strtolower</span> ( <span>$file_type</span> ) != "xlsx" && <span>strtolower</span> ( <span>$file_type</span> ) != "xls"<span>) </span><span>22</span> <span> { </span><span>23</span> <span>$this</span>->error ( '不是Excel文件,重新上传'<span> ); </span><span>24</span> <span> } </span><span>25</span> <span>26</span> <span>/*</span><span>设置上传路径</span><span>*/</span> <span>27</span> <span>$savePath</span> = 'E:\Workspace\PHP\thinkphp\Uploads\\'<span>; </span><span>28</span> <span>/*</span><span>以时间来命名上传的文件</span><span>*/</span> <span>29</span> <span>$str</span> = <span>date</span> ( 'Ymdhis'<span> ); </span><span>30</span> <span>$file_name</span> = <span>$str</span> . "." . <span>$file_type</span><span>; </span><span>31</span> <span>32</span> <span>/*</span><span>是否上传成功</span><span>*/</span> <span>33</span> <span>if</span> (! <span>copy</span> ( <span>$tmp_file</span>, <span>$savePath</span> . <span>$file_name</span><span> )) </span><span>34</span> <span> { </span><span>35</span> <span>$this</span>->error ( '上传失败'<span> ); </span><span>36</span> <span> } </span><span>37</span> <span>$ExcelToArray</span>=<span>new</span> ExcelToArray();<span>//</span><span>实例化</span> <span>38</span> <span>$res</span>=<span>$ExcelToArray</span>->read(<span>$savePath</span>.<span>$file_name</span>,"UTF-8",<span>$file_type</span>);<span>//</span><span>传参,判断office2007还是office2003</span> <span>39</span> <span>foreach</span> ( <span>$res</span> <span>as</span> <span>$k</span> => <span>$v</span> ) <span>//</span><span>循环excel表</span> <span>40</span> <span> { <br /> //这一步判断,是为了在Excel内第一行一定是行标题,这里将第一行忽略,直接从第二行读入数据,若没有行标题,则不需要进行if判断,且$k=$k-1; </span><span>41</span> <span>if</span>(<span>$k</span>!=1<span>){ </span><span>42</span> <span>$k</span>=<span>$k</span>-2;<span>//</span><span>addAll方法要求数组必须有0索引</span> <span>43</span> <span>$data</span>[<span>$k</span>]['username'] = <span>$v</span>[0];<span>//</span><span>创建二维数组</span> <span>44</span> <span>$data</span>[<span>$k</span>]['password'] = <span>$v</span>[1<span>]; </span><span>45</span> <span>$data</span>[<span>$k</span>]['sex'] = <span>$v</span> [2<span>]; </span><span>46</span> <span> } </span><span>47</span> <span> } </span><span>48</span> <span>49</span> <span>//</span><span>dump($data[0]);</span> <span>50</span> <span>$kucun</span>=M('User');<span>//</span><span>M方法</span> <span>51</span> <span>$result</span>=<span>$kucun</span>->addAll(<span>$data</span><span>); </span><span>52</span> <span>if</span>(! <span>$result</span><span>) </span><span>53</span> <span> { </span><span>54</span> <span>$this</span>->error('导入数据库失败'<span>); </span><span>55</span> <span>exit</span><span>(); </span><span>56</span> <span> } </span><span>57</span> <span>else</span> <span>58</span> <span> { </span><span>59</span> <span>$this</span>->success ( '导入成功'<span> ); </span><span>60</span> <span> } </span><span>61</span> <span> } </span><span>62</span> <span>63</span> <span>public</span> <span>function</span><span> load(){ </span><span>64</span> <span>$data</span>= M('User')->select(); <span>//</span><span>查出数据</span> <span>65</span> dump(<span>$data</span><span>); </span><span>66</span> <span>$name</span>='Usertable'; <span>//</span><span>生成的Excel文件文件名</span> <span>67</span> <span>$ExcelToArray</span>=<span>new</span> ExcelToArray();<span>//</span><span>实例化</span> <span>68</span> <span>$res</span>=<span>$ExcelToArray</span>->push(<span>$data</span>,<span>$name</span><span>); </span><span>69</span> <span> } </span><span>70</span> }
第四,就是创建相应的模板,在目录E:\Workspace\PHP\thinkphp2\Home\Tpl下,创建Excel文件夹,新建index.html文件,源代码如下:
<span>1</span> <form method="post" action="__APP__/Excel/add" enctype="multipart/form-data"> <span>2</span> <h3 id="导入Excel表">导入Excel表:</h3><input type="file" name="file_stu" /> <span>3</span> <span>4</span> <input type="submit" value="导入" /> <span>5</span> </form> <span>6</span> <form method="post" action="__APP__/Excel/load" enctype="multipart/form-data"> <span>7</span> <input type="submit" value="导出" /> <span>8</span> </form>
最后,只需要进行测试就可以了。
ps,数据库信息如下:
例如:新建数据库thinkphp,建立表user,user表信息如下:
id | username | password | sex |
1 | zs | 123 | 1 |
以上就是使用PhpExcel的全部步骤,谢谢!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment configurer le démarrage du clavier sur la carte mère de Gigabyte Tout d'abord, s'il doit prendre en charge le démarrage du clavier, il doit s'agir d'un clavier PS2 ! ! Les étapes de configuration sont les suivantes : Étape 1 : appuyez sur Suppr ou F2 pour entrer dans le BIOS après le démarrage, et entrez dans le mode avancé (avancé) du BIOS. Les cartes mères ordinaires entrent dans le mode EZ (facile) de la carte mère par défaut. pour appuyer sur F7 pour passer au mode avancé. Les cartes mères de la série ROG entrent dans le BIOS par défaut (nous utilisons le chinois simplifié pour démontrer) Étape 2 : Sélectionnez - [Avancé] - [Gestion avancée de l'alimentation (APM)] Étape 3 : Recherchez l'option [Réveil par le clavier PS2] Étape 4 : Cette option est désactivée par défaut. Après avoir tiré vers le bas, vous pouvez voir trois options de configuration différentes, à savoir appuyer sur [barre d'espace] pour allumer l'ordinateur, appuyer sur groupe.

1. Processeur Lors du choix d'une configuration informatique, le processeur est l'un des composants les plus importants. Pour jouer à des jeux comme CS, les performances du processeur affectent directement la fluidité et la vitesse de réponse du jeu. Il est recommandé de choisir les processeurs Intel Core i5 ou i7 car ils disposent de puissantes capacités de traitement multicœur et de hautes fréquences, et peuvent facilement répondre aux exigences élevées du CS. 2. Carte graphique La carte graphique est l'un des facteurs importants dans les performances du jeu. Pour les jeux de tir tels que CS, les performances de la carte graphique affectent directement la clarté et la fluidité de l'écran de jeu. Il est recommandé de choisir les cartes graphiques de la série NVIDIA GeForce GTX ou de la série AMD Radeon RX. Elles ont d'excellentes capacités de traitement graphique et une fréquence d'images élevée, et peuvent offrir une meilleure expérience de jeu. 3. Puissance de la mémoire.

Séquence des lignes de connexion SPDIFOUT sur la carte mère. Récemment, j'ai rencontré un problème concernant la séquence de câblage des fils. J'ai vérifié en ligne. Certaines informations indiquent que 1, 2 et 4 correspondent à la sortie, au +5 V et à la masse tandis que d'autres informations indiquent que 1, 2 et 4 correspondent à la sortie, à la masse et au +5 V ; La meilleure façon est de consulter le manuel de votre carte mère. Si vous ne trouvez pas le manuel, vous pouvez utiliser un multimètre pour le mesurer. Trouvez d’abord la terre, puis vous pourrez déterminer l’ordre du reste du câblage. Comment connecter le câblage VDG de la carte mère Lors de la connexion du câblage VDG de la carte mère, vous devez brancher une extrémité du câble VGA dans l'interface VGA du moniteur et l'autre extrémité dans l'interface VGA de la carte graphique de l'ordinateur. Attention à ne pas le brancher sur le port VGA de la carte mère. Une fois connecté, vous pouvez

Glodon Software est une société de logiciels spécialisée dans le domaine de l'informatisation des bâtiments. Ses produits sont largement utilisés dans tous les aspects de la conception architecturale, de la construction et de l'exploitation. En raison des fonctions complexes et du grand volume de données du logiciel Glodon, celui-ci nécessite une configuration informatique élevée. Cet article détaillera les recommandations de configuration informatique de Glodon Software sous de nombreux aspects pour aider les lecteurs à choisir un processeur de configuration informatique approprié. Glodon Software nécessite une grande quantité de calcul et de traitement de données lors de l'exécution de la conception architecturale, de la simulation et d'autres opérations. pour le processeur sont plus élevés. Il est recommandé de choisir un processeur multicœur haute fréquence, tel que la série Intel i7 ou la série AMD Ryzen. Ces processeurs disposent d'une forte puissance de calcul et de capacités de traitement multithread, qui peuvent mieux répondre aux besoins du logiciel Glodon. Mémoire La mémoire affecte l'informatique

La livraison express est désormais achetée par de nombreux utilisateurs. De nombreux utilisateurs sont curieux de savoir comment vérifier où a été leur livraison express. Jetons maintenant un œil au résumé des méthodes de requête express courantes proposées par l'éditeur. Comment vérifier où se trouve la livraison express ? Vous pouvez vérifier la livraison express en visitant le site Web de Kuaidi 100 (https://www.kuaidi100.com/). Sur la page, entrez simplement le numéro de coursier pour compléter la requête. Requête Alipay : accédez à la page Alipay, recherchez l'applet [My Express] et saisissez le numéro de suivi Quadi à interroger. 3. Requête WeChat : Dans le logiciel WeChat, nous recherchons [Check Express] et dans les résultats de recherche, il nous suffit de saisir le numéro de livraison express ;

Guide complet : Comment traiter des fichiers Excel à l'aide de l'extension PHP PHPExcel Introduction : Les fichiers Excel sont souvent utilisés comme format courant pour le stockage et l'échange de données lors du traitement de grandes quantités de données et de l'analyse statistique. En utilisant l'extension PHP PHPExcel, nous pouvons facilement lire, écrire et modifier des fichiers Excel pour traiter efficacement les données Excel. Cet article explique comment utiliser l'extension PHP PHPExcel pour traiter des fichiers Excel et fournit des exemples de code. 1. Installez PHPExc

Avec l’avènement de l’ère numérique, les données sont devenues l’élément le plus important de notre vie quotidienne et de notre travail, et les fichiers Excel sont devenus l’un des outils importants pour le traitement des données. Je pense que de nombreux développeurs PHP seront souvent confrontés à l'utilisation de fichiers Excel pour le traitement des données et les opérations au travail. Cet article vous présentera les méthodes et précautions d'utilisation de la bibliothèque PHPExcel pour traiter les fichiers Excel. Qu’est-ce que PHPExcel ? PHPExcel est une classe PHP

J'ai l'intention de faire de la randonnée au Tibet ① Combien de litres de sac dois-je emporter ? S'il vous plaît, dites-moi quelle est, selon vous, la meilleure configuration. J'ai 170 ans et j'ai une bonne force physique. La première fois que je suis parti en randonnée, la quantité était de 60. litres ou plus. La quantité de randonnée était inférieure à 60 litres. Tout le trajet s'est fait en voiture. Vous n'avez pas besoin de sac à dos, une valise est plus pratique. Si vous avez vraiment besoin de transporter quelque chose avec vous, une valise de 25 à 40 litres. le sac est plus que suffisant. Fournitures nécessaires pour voyager au Tibet : lunettes de soleil, chapeau de soleil, crème solaire, crème pour la peau, baume à lèvres, hauts à manches longues, pull pour un voyage spécial ou un voyage à Ali, dans le nord du Tibet et sur la ligne Sichuan-Tibet ; il est recommandé d'apporter : un sac de couchage (protection contre le froid), des draps (protection contre la saleté), une doudoune, des chaussures de voyage ou de randonnée, des chaussons, une brosse à dents, du dentifrice, une serviette, du papier à rouler, des sous-vêtements en papier, des lingettes désinfectantes, une lampe de poche, des allumettes imperméables, des couteaux. , corde. Un ordinateur peut-il être transporté dans le sac avant ? Certains sacs à dos en sont équipés.
