关于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的全部步骤,谢谢!

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Gigabyte のマザーボードでキーボード起動を設定する方法 まず、キーボード起動をサポートする必要がある場合は、PS2 キーボードである必要があります。 !設定手順は次のとおりです: ステップ 1: 起動後に Del または F2 を押して BIOS に入り、BIOS の Advanced (Advanced) モードに移動します 通常のマザーボードは、デフォルトでマザーボードの EZ (Easy) モードに入ります。 F7 を押してアドバンスト モードに切り替える必要があります。ROG シリーズ マザーボードはデフォルトで BIOS に入ります。アドバンスト モード (説明には簡体字中国語を使用します) ステップ 2: - [アドバンスト] - [アドバンスト パワー マネージメント (APM)] を選択します。 ステップ 3 : オプション [PS2 キーボードによるウェイクアップ] を見つけます ステップ 4: このオプション デフォルトは無効です プルダウンすると、3 つの異なる設定オプションが表示されます: [スペースバー] を押してコンピューターの電源をオンにし、グループを押します

1. プロセッサ コンピュータ構成を選択する場合、プロセッサは最も重要なコンポーネントの 1 つです。 CS などのゲームをプレイする場合、プロセッサーのパフォーマンスはゲームのスムーズさや応答速度に直接影響します。 Intel Core i5 または i7 シリーズ プロセッサを選択することをお勧めします。これらのプロセッサは、強力なマルチコア処理能力と高周波数を備え、CS の高い要件に簡単に対応できるためです。 2. グラフィックス カード グラフィックス カードは、ゲームのパフォーマンスを左右する重要な要素の 1 つです。 CSなどのシューティングゲームでは、グラフィックカードの性能がゲーム画面の鮮明さや滑らかさに直結します。優れたグラフィックス処理能力と高いフレームレート出力を備え、より優れたゲーム体験を提供できる NVIDIA GeForce GTX シリーズまたは AMD Radeon RX シリーズ グラフィックス カードを選択することをお勧めします。

マザーボード上の SPDIFOUT 接続線の順序 最近、ワイヤの配線順序に関する問題に遭遇しました。ネットで調べたところ、1、2、4がアウト、+5V、グラウンドに相当するという情報もあれば、1、2、4がアウト、グラウンド、+5Vに相当するという情報もありました。最善の方法は、マザーボードのマニュアルを確認することです。マニュアルが見つからない場合は、マルチメーターを使用して測定できます。最初にアースを見つけてから、残りの配線の順序を決定します。マザーボードの VDG 配線の接続方法 マザーボードの VDG 配線を接続するときは、VGA ケーブルの一端をモニターの VGA インターフェイスに差し込み、もう一端をコンピューターのグラフィックス カードの VGA インターフェイスに差し込む必要があります。マザーボードの VGA ポートに差し込まないよう注意してください。接続すると、次のことが可能になります

Glodon Software は建築情報化分野に注力するソフトウェア会社で、その製品は建築の設計、建設、運用のあらゆる側面で広く使用されています。 Glodon ソフトウェアは機能が複雑でデータ量が大きいため、高度なコンピュータ構成が必要です。この記事では、読者が適切なコンピューター構成プロセッサーを選択できるように、Glodon Software のコンピューター構成に関する推奨事項をさまざまな側面から詳しく説明します。Glodon Software は、アーキテクチャー設計、シミュレーション、その他の操作を実行するときに大量のデータの計算と処理を必要とします。プロセッサの方が高いです。 Intel i7 シリーズや AMD Ryzen シリーズなど、マルチコアの高周波数プロセッサを選択することをお勧めします。これらのプロセッサは強力なコンピューティング能力とマルチスレッド処理能力を備えており、Glodon ソフトウェアのニーズをより適切に満たすことができます。メモリ メモリがコンピューティングに影響を与えています

現在、速達サービスは多くのユーザーに購入されており、多くのユーザーは速達がどこに届いたかを確認する方法に興味を持っています。次に、エディターが提供する一般的な高速クエリ メソッドの概要を見てみましょう。速達便の所在地を確認するには? Kuaidi 100 Web サイト (https://www.kuaidi100.com/) にアクセスして速達便を確認できます。このページで、配送業者番号を入力するだけでクエリが完了します。 Alipay クエリ: Alipay ページに入り、[My Express] アプレットを見つけて、クエリする Quadi 追跡番号を入力します。 3. WeChat クエリ: WeChat ソフトウェアで [Check Express] を検索し、検索結果に速達番号を入力するだけです。

デジタル時代の到来により、データは私たちの日常生活や仕事において最も重要な部分となり、Excel ファイルはデータ処理のための重要なツールの 1 つになりました。 PHP開発者の多くは仕事でデータ処理や操作でExcelファイルを使用する場面に遭遇することが多いと思います。この記事では、PHPExcelライブラリを使ってExcelファイルを加工する方法と注意点を紹介します。 PHPエクセルとは何ですか? PHPExcel は PHP クラスです

完全ガイド: PHP 拡張機能 PHPExcel を使用して Excel ファイルを処理する方法 はじめに: Excel ファイルは、大量のデータや統計分析を処理する際のデータの保存と交換のための一般的な形式としてよく使用されます。 PHP 拡張機能 PHPExcel を使用すると、Excel ファイルの読み取り、書き込み、変更を簡単に行うことができ、Excel データを効果的に処理できます。この記事では、PHP 拡張機能 PHPExcel を使用して Excel ファイルを処理する方法とコード例を紹介します。 1.PHPExcをインストールする

チベットにバックパッキングに行く予定です ①バッグは何リットルくらい持っていきますか?ベストな構成を教えてください 私は170歳で体力はありますが、初めてハイキングに行ったときは60リットルでしたリットル以上 ハイキングの量は60リットル未満 移動はすべて車でした リュックサックは必要ありません、スーツケースが便利です どうしても何かを持ち歩きたい場合は25〜40リットルチベット旅行の必需品:サングラス、日よけ帽子、日焼け止め、スキンクリーム、リップクリーム、長袖上着、セーター;特別な旅行やアリ、北チベット、四川チベット線への旅行の場合は、これが必要です。持参推奨品:寝袋(防寒)、シーツ(汚れ防止)、ダウンジャケット、旅行靴または登山靴、スリッパ、歯ブラシ、歯磨き粉、タオル、巻き紙、紙パンツ、消毒用ワイプ、懐中電灯、防水マッチ、ナイフ、ロープ。フロント バッグにコンピューターを入れて持ち運べますか? フロント バッグにコンピューターを入れて持ち運べますか? バックパックによっては、フロント バッグに入れて持ち運べますか?
