PHP は Excel ファイルからデータベースにデータをバッチインポートします
最近プロジェクトに取り組んでいるときに、ユーザーが Excel フォームを送信した後、バックエンドで Excel フォーム情報のすべての内容をデータ テーブルに挿入する必要があるという状況に遭遇しました。もちろん、ユーザーが提供する Excel テーブルの情報がテーブルのフィールド情報に対応している必要があることが前提となります。バックエンドにデータをバッチインポートする手順は次のとおりです。
まずphpExcelをダウンロードする必要があります
phpExcelは、Office Excelドキュメントを操作するために使用されるPHPクラスライブラリであり、MicrosoftのOpenXML標準とPHP言語に基づいています。これを使用して、さまざまな形式のスプレッドシートを読み書きすることができます
このクラス ライブラリが必要な場合は、私に連絡してください。私のメールアドレスは 823410261@qq.com です。
phpExcelをダウンロードしたら、以下はコーディング実装部分です。 まず、私の処理の全体的な考え方について話します。
まず、Excel テーブル内のデータを取得する必要があります。次に、データを SQL 仕様に準拠した形式にする必要があります。最後に、詳細な処理を以下のコードに示します。取得したデータを SQL ステートメントと一緒にプログラムで実行し、すべての結果をデータ テーブルに挿入します。
<?php require_once '../Classes/PHPExcel.php';
function getFileExcle($value){ $cgsdiseasesinterface = new Cgs_diseases_interface(); $filePath = $value;//$value为需要导入数据的excel文件 $PHPExcel = new PHPExcel(); /**默认用excel2007读取excel,若格式不对,则用之前的版本进行读取*/ $PHPReader = new PHPExcel_Reader_Excel2007(); if(!$PHPReader->canRead($filePath)){ $PHPReader = new PHPExcel_Reader_Excel5(); if(!$PHPReader->canRead($filePath)){ echo 'no Excel'; return ; } } $PHPExcel = $PHPReader->load($filePath); /**读取excel文件中的第一个工作表*/ $currentSheet = $PHPExcel->getSheet(0); /**取得最大的列号*/ $allColumn = $currentSheet->getHighestColumn(); /**取得一共有多少行*/ $allRow = $currentSheet->getHighestRow(); $row = array(); /**从第二行开始输出,因为excel表中第一行为列名*/ for($currentRow = 2;$currentRow <= $allRow;$currentRow++){ /**从第A列开始输出*/ $col = array(); for($currentColumn= 'A';$currentColumn<= $allColumn; $currentColumn++){ $val = $currentSheet->getCellByColumnAndRow(ord($currentColumn) - 65,$currentRow)->getValue();/**ord()将字符转为十进制数*/ array_push($col,$val); } array_push($row,$col); } foreach($row as $key=>$value){ $row[$key][1] = '\''.$value[1].'\''; } foreach($row as $key=>$value){ $row[$key] = implode(",",$value); } $row = implode("),(",$row); $row = '('.$row.')'; $res = $cgsdiseasesinterface->insertDiseasesInformation($row);//该函数将数据插入到数据库中 if($res){ echo json_encode(['code' => CODE_SUCCESS, 'result' => '批量导入成功']); }else{ echo json_encode(['code' => CODE_ERROR, 'result' => '批量导入失败']); } }
ここで重要なのは、$currentRow が 2 から始まるため、最初の行は対応するフィールドの説明である必要があり、2 行目からは必要なデータであるということです。独自のプログラムに従うことができます。実際に変更を加える必要があります。
ここでは、すべてのデータを文字列に結合しました。利点は、データベースが短い接続の場合、データベースに 1 回接続するだけで済み、データベースが長い接続に設定されている場合に時間とシステム リソースを節約できることです。文字列連結を使用する利点は明らかではありません。もちろん、実際にループを使用してテーブルにデータを挿入することもできます。この方法の利点は、データの複雑な結合が必要ないことですが、欠点は、先ほど述べたように、実行時間が長くなり、コストが削減されることです。より多くのシステムリソースを消費します。

ホット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)

ホットトピック









JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...
