ホームページ PHPフレームワーク ThinkPHP ThinkPhp5.1 + PHPExcel 本番データのインポート

ThinkPhp5.1 + PHPExcel 本番データのインポート

Feb 16, 2022 pm 05:29 PM
phpexcel thinkphp5.1

データのインポートは多くの場所で必要です。ThinkPhp5.1 を使用してデータのインポートを行うにはどうすればよいですか? 次に、エディターがプロセス全体を理解するように導きます。

1 準備

エディターは PHPExcel を介してデータ インポートを実装しているため、運用前に、まず PHPExcel 関連コンポーネントをダウンロードする必要があります。現在、tp5.1 は Composer のインストールをサポートしています。エディターはコンポーザーを通じて PHPExcel コンポーネントをインストールしました。 [推奨: thinkphp ビデオ チュートリアル ]

インストールする前に、まずコンピュータに Composer コンポーネントがあることを確認する必要があります。Composer がインストールされていない場合は、次のコマンドを実行できます。 Linux および Mac OS X :

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
ログイン後にコピー

Windows では、Composer-Setup.exe をダウンロードして実行する必要があります。ダウンロード アドレス:

https://www.kancloud.cn/ Manual/thinkphp5_1/353948

composer をインストールした後、PHPExcel をインストールする必要があります。R を起動し、実行インターフェイスを開き、cmd と入力し、管理インターフェイスに入り、プロジェクトが配置されているドライブ文字を入力します (ここでは、D ドライブを例として、プロジェクト D:\phpstudy_pro\WWW\myapp.io) をクリックし、Enter:

ThinkPhp5.1 + PHPExcel 本番データのインポート

Enter: cd D:\ をクリックします。 phpstudy_pro\WWW\myapp.io で、プロジェクト ディレクトリを見つけます

ThinkPhp5.1 + PHPExcel 本番データのインポート

次のステップは、PHPExcel プラグインをインストールすることです。「composer require phpoffice/phpexcel」と入力し、Enter をクリックします。 PHPExcel のインストールを開始します。

2 フロントエンド送信ページ

html

<form class="layui-form" enctype="multipart/form-data">
    <input type="hidden" name="type_id" value="{$type_id}">
    <div class="layui-form-item" style="margin-left: 42px;">
        <div class="layui-input-inline" style="width: 122px;">
            <button type="button" class="layui-btn" name="file" lay-verify="file" id="test3"><i class="layui-icon"></i>上传文件</button>
        </div>
    </div>
    <div class="layui-form-item" style="margin-left: 42px;">
        <div class="layui-input-inline">
            <button  class="layui-btn" lay-filter="add" lay-submit="add">
                导入
            </button>
        </div>
    </div>
    <div class="layui-form-item">
        <div class="layui-input-block">
            <div style="line-height: 35px;">
                注:
                <p>1.文件大小:请上传小于10M的文件</p>
                <p>2.文件类型:上传时首先
                    <span class="common-a">
                <a href="/import/member.xlsx">下载导入模板</a>
            </span>,填好信息后上传</p>
            </div>
        </div>
    </div>
</form>
ログイン後にコピー

js

<script>
    layui.use([&#39;form&#39;, &#39;layer&#39;,&#39;upload&#39;], function () {
        $ = layui.jquery;
        var form = layui.form
            , layer = layui.layer;

        var $ = layui.jquery,
            upload = layui.upload;

        upload.render({
            elem: &#39;#test3&#39;
            ,url: &#39;你的上传路径&#39;
            ,accept: &#39;file&#39; //普通文件
            ,exts: &#39;xls|xlsx&#39;
            ,size:&#39;10240&#39;
            ,done: function(res){
                $(&#39;#test3&#39;).append(&#39;<input type="text" name="file" id="file" lay-verify="file" value="&#39;+res.data +&#39;" />&#39;)
            }
        });
        //监听提交
        form.on(&#39;submit(add)&#39;, function(data){
            console.log(data);
            //发异步,把数据提交给php
            $.post(&#39;{:url(\&#39;saveImportMember\&#39;)}&#39;,$(&#39;form&#39;).serialize(),function(data){
                if(data.res == 1){
                    layer.msg(data.msg);
                    setTimeout(function(){parent.window.location.reload();},1000);
                }else if(data.res == 0){
                    layer.alert(data.msg,{icon: 2});
                }else{
                    layer.alert(&#39;操作失败&#39;,{icon: 2});
                }
            })
            return false;
        });
    });
</script>
ログイン後にコピー

3 バックグラウンド処理

会員情報テーブルをアップロードする例です。含まれるフィールド値は、名前、性別、会員タイプです。 (type_id)、ID番号(identity)、会員番号(number)、連絡先番号(telephone)、ソート(sort)、会員ステータス(status)。

//上传excel文件
$file = Request::param(&#39;file&#39;);
//获取文件路径
$filePath = Env::get(&#39;root_path&#39;).&#39;public&#39;.DIRECTORY_SEPARATOR.$file;
if($filePath == &#39;&#39;){
    return [&#39;res&#39;=>0,&#39;msg&#39;=>&#39;你上传的文件为空&#39;];
}
$suffix = $this->DbSy->GetFileExt($file);
//判断哪种类型
if($suffix=="xlsx"){
    $reader = \PHPExcel_IOFactory::createReader(&#39;Excel2007&#39;);
}else{
    $reader = \PHPExcel_IOFactory::createReader(&#39;Excel5&#39;);
}
//载入excel文件
$excel = $reader->load("$filePath",$encode = &#39;utf-8&#39;);
//读取第一张表
$sheet = $excel->getSheet(0);
//获取总行数
$row_num = $sheet->getHighestRow();
//获取总列数
$col_num = $sheet->getHighestColumn();
$time = time();
$data = []; //数组形式获取表格数据
$count = 0;
$total = 0;
$error_count = 0;
for ($i = 2; $i <= $row_num; $i ++) {
    $type_id = Request::param(&#39;type_id&#39;);
    $data[&#39;type_id&#39;] = $type_id;
    $name = $sheet->getCell("A".$i)->getValue();
    $sex = $sheet->getCell("B".$i)->getValue();
    $identity = $sheet->getCell("C".$i)->getValue();
    $telephone = $sheet->getCell("F".$i)->getValue();
    $data[&#39;sort&#39;] = $this->DbSy->getSort(5,&#39;sort desc&#39;,array(&#39;type_id&#39;=>$type_id));
    if(!$identity){
        return [&#39;res&#39;=>0,&#39;msg&#39;=>&#39;身份证号不能为空&#39;];
    }
    $data[&#39;identity&#39;] = $identity;
    if(!$name){
        return [&#39;res&#39;=>0,&#39;msg&#39;=>&#39;姓名不能为空&#39;];
    }
    $data[&#39;name&#39;] = $name;
    if($sex==&#39;男&#39;){
        $data[&#39;sex&#39;] = 1;
    }elseif ($sex==&#39;女&#39;){
        $data[&#39;sex&#39;] = 2;
    }else{
        $data[&#39;sex&#39;] = 3;
    }
    $data[&#39;identity&#39;] = $identity;
    $data[&#39;number&#39;] = $this->DbSy->getNumber(5,&#39;sort desc&#39;,array(&#39;type_id&#39;=>$type_id));
   
    if($telephone){
        $data[&#39;telephone&#39;] = $telephone;
    }else{
        $data[&#39;telephone&#39;] = &#39;&#39;;
    }
    $data[&#39;status&#39;] = 5;
    $member = $this->DbSy->FindWhere(5,array(&#39;name&#39;=>$name,&#39;identity&#39;=>$identity,&#39;type_id&#39;=>$type_id));
    if($member){
        /*$data[&#39;updatetime&#39;] = time();*/
        $info = $this->DbSy->editContent(5,$data,array(&#39;id&#39;=>$member[&#39;id&#39;]));
        if($info){
            $total++;
        }
    }else{
        // 读取单元格
        $data[&#39;addtime&#39;] = time();
        $data[&#39;updatetime&#39;] = time();
        $info = $this->DbSy->insertGetId(5,$data);
        if($info){
            $count++;
        }else{
            $error_count++;
        }
    }
}
$msg =  "成功导入".$count."条数据,重复".$total."条数据,导入失败".$error_count."条数据";
if($count > 0){
    return [&#39;res&#39;=>1,&#39;msg&#39;=>$msg];
}else{
    return [&#39;res&#39;=>0,&#39;msg&#39;=>$msg];
}
ログイン後にコピー

上記は、TP5.1 PHPExcel を使用して情報をインポートするすべてのプロセスを編集者が要約したものです。

以上がThinkPhp5.1 + PHPExcel 本番データのインポートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHP 開発: PHPExcel を使用して Excel ファイルを処理する PHP 開発: PHPExcel を使用して Excel ファイルを処理する Jun 15, 2023 pm 03:45 PM

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

完全ガイド: PHP 拡張機能 PHPExcel を使用して Excel ファイルを処理する方法 完全ガイド: PHP 拡張機能 PHPExcel を使用して Excel ファイルを処理する方法 Jul 28, 2023 pm 10:01 PM

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

phpexcelを使ってExcelファイルをCSVファイルに変換して開く方法 phpexcelを使ってExcelファイルをCSVファイルに変換して開く方法 Mar 27, 2023 pm 04:16 PM

PHPEXCEL は、Excel ファイルの読み書きのための優れた PHP クラス ライブラリであり、PHP を使用して Excel ファイルを読み書きできるようにする非常に十分な API を提供します。場合によっては、Excel ファイルを CSV ファイルに変換して使用する必要があることがあります。そこで、この記事ではPHPEXCELクラスライブラリを使ってExcelファイルをCSVファイルに変換して開く方法を中心に説明します。

PHPExcel を使用して Excel ファイルを処理するにはどうすればよいですか? PHPExcel を使用して Excel ファイルを処理するにはどうすればよいですか? Jun 01, 2023 pm 02:01 PM

PHPExcel は、Microsoft Excel (.xls および .xlsx) ファイルを処理するためのオープンソース PHP ライブラリです。 Excel ファイルの読み取り、書き込み、操作が可能で、豊富な関数とメソッドを提供します。 PHP プロジェクトで PHPExcel ライブラリを使用すると、Excel ファイルを迅速かつ簡単に処理し、データのインポート、エクスポート、データ処理などの機能を実装できます。この記事では、PHPExcelを使ってExcelファイルを加工する方法を紹介します。 1. PHPExcel をインストールするには、次を使用します。

PHP 開発のヒント: PHPExcel と PHPExcel_IOFactory を使用して MySQL データベースを操作する方法 PHP 開発のヒント: PHPExcel と PHPExcel_IOFactory を使用して MySQL データベースを操作する方法 Jul 02, 2023 pm 02:28 PM

PHP 開発のヒント: PHPExcel と PHPExcel_IOFactory を使用して MySQL データベースを操作する方法 概要: Web 開発では、Excel ファイルの処理は一般的かつ重要なタスクです。 PHPExcel は、Excel ファイルの読み書きに役立つ強力で使いやすい PHP ライブラリです。この記事では、MySQL データベースを操作するための PHPExcel および PHPExcel_IOFactory ライブラリを使用する方法を紹介します。ステップ1

PHP および PHPExcel を使用して Excel ファイルを作成する PHP および PHPExcel を使用して Excel ファイルを作成する May 11, 2023 am 08:40 AM

今日の急速な情報転送の時代では、データの処理とストレージの重要性がますます高まっています。 Excel テーブルはさまざまなデータを統合でき、簡単に分析および処理できるため、多くの人にとって Excel テーブルの使用が最初の選択肢になります。 Excel テーブルの作成をより効率的に完了するには、PHP と PHPExcel という 2 つの強力なツールを使用できます。この記事では、PHPとPHPExcelを使ってExcelファイルを作成する方法を紹介します。 1. まず PHPExcel をインストールします

thinkphp5.1でキャッシュをオフにする方法 thinkphp5.1でキャッシュをオフにする方法 Dec 13, 2022 am 09:58 AM

thinkphp5.1 でキャッシュをオフにする方法: 1. "\ThinkPHP\Common\convention.php" および "\ThinkPHP\Common\debug.php" ファイルを見つけます。 2. debug.php の内容を "' に変更します。 TMPL_CACHE_ON' => false,"; 3.convention.php の内容を「'ACTION_CACHE_ON' => false,」に変更します。

PHP開発スキル: PHPExcelを使用してMySQLデータベースを操作する方法 PHP開発スキル: PHPExcelを使用してMySQLデータベースを操作する方法 Jul 02, 2023 pm 12:21 PM

PHP開発スキル:PHPExcelを使ったMySQLデータベースの操作方法 インターネットの発展に伴い、データベースには大量のデータが格納され、インポート、エクスポート、加工などの操作が必要になります。 PHP 開発において、PHPExcel は、Excel ファイルとの対話を簡素化し、データのインポートとエクスポートを実現できる強力なライブラリです。この記事では、PHPExcelを使ってMySQLデータベースを操作し、データのインポート・エクスポート機能を実装する方法を紹介します。 PHPExcelのインストールと設定

See all articles