検索
ホームページPHPフレームワークLaravelLaravel 開発: Laravel Excel と Spout を使用して Excel ファイルを処理する方法?

Laravel は、開発者が Web アプリケーションを迅速に構築できるようにするための多くの機能と拡張機能を提供する、人気のある PHP 開発フレームワークです。一般的なタスクの 1 つは Excel ファイルの処理です。この記事では、Laravel Excel と Spout を使用して Excel ファイルを処理する方法を学びます。

Laravel Excel は、Excel ファイルのインポートおよびエクスポート用の人気のある拡張機能で、Excel ファイルの読み取り、書き込み、操作のためのシンプルで使いやすいインターフェイスを提供します。 Spout は、大きな Excel ファイルの読み書き用に設計された高速な PHP ライブラリです。

まず、これらの拡張機能をインストールする必要があります。 Laravel 5.5 以降では、Laravel Excel は次のコマンドでインストールできます:

composer require maatwebsite/excel

Spout の場合、次のコマンドでインストールできます:

composer require box/spout

これらの拡張機能をインストールすると、これらを使用して Excel ファイルを処理できるようになります。

Excel ファイルの読み取り

Excel ファイルを読み取るには、Laravel Excel が提供する Excel クラスを使用する必要があります。以下は、Excel ファイル内のすべてのセル データを読み取り、2 次元配列を返す簡単な例です。

use MaatwebsiteExcelFacadesExcel;

$rows = Excel::load('example.xlsx')->all()->toArray();

この例では、all() メソッドは A # を返します。 ##Collection Excel ファイル内のすべての行と列のデータを含むオブジェクト。 toArray()メソッドは、Collection オブジェクトを単純な 2 次元配列に変換します。例:

[
    [
        "Name" => "John Doe",
        "Email" => "johndoe@example.com",
        "Age" => 30
    ],
    [
        "Name" => "Jane Doe",
        "Email" => "janedoe@example.com",
        "Age" => 28
    ],
    // ...
]

get() メソッドを使用して、特定の行またはリスト。たとえば、データの最初の列を取得するには、次のコードを使用できます。

$column = Excel::load('example.xlsx')->get()[0];

Excel ファイルに書き込む

データを Excel ファイルに書き込むには、Laravel Excel のライターを使用する必要があります。クラス。データを含む Excel ファイルを作成する簡単な例を次に示します。

use MaatwebsiteExcelFacadesExcel;
use MaatwebsiteExcelWriter;
use MaatwebsiteExcelClassesPHPExcel;

Excel::create('example', function(Writer $writer) {
    $writer->setTitle('My First Excel');
    $writer->setCreator('John Doe');
    $writer->setDescription('A demonstration of using Laravel Excel');

    $writer->sheet('Sheet1', function($sheet) {
        $sheet->fromArray([
            ['Name', 'Email', 'Age'],
            ['John Doe', 'johndoe@example.com', 30],
            ['Jane Doe', 'janedoe@example.com', 28]
        ]);
    });
})->download('xlsx');

この例では、

create() メソッドを使用して新しい Excel ファイルを作成します。コールバック関数では、Excel ファイルのタイトル、作成者、説明を設定できます。 sheet()メソッドは新しいワークシートを作成し、そこにデータを書き込みます。最後に、download() メソッドは、応答として Excel ファイルをダウンロードします。この場合、ファイルは XLSX 形式でダウンロードされます。

Spout を使用して Excel ファイルを処理する

Spout は、大きな Excel ファイルの読み取りおよび書き込み用に設計された軽量の PHP ライブラリです。 Spout を使用して Excel ファイルからデータを読み取る簡単な例を次に示します。

use BoxSpoutReaderReaderFactory;
use BoxSpoutCommonType;

$reader = ReaderFactory::create(Type::XLSX);
$reader->open('example.xlsx');

foreach ($reader->getSheetIterator() as $sheet) {
    foreach ($sheet->getRowIterator() as $row) {
        $data[] = $row->toArray();
    }
}

$reader->close();

この例では、

ReaderFactory クラス ##Object を通じて $reader# を作成しました。 , Excel ファイルを読み取るために使用されます。 getSheetIterator() メソッドと getRowIterator() メソッドを通じて、ワークシートと行のイテレータを取得でき、toArray() メソッドを使用して取得できます。セルデータ。 $reader->close()このメソッドは、Excel ファイルを閉じるために使用されます。 同様に、Spout の

WriterFactory

クラスと Sheet クラスを使用して、データを Excel ファイルに書き込むことができます。 <pre class='brush:php;toolbar:false;'>use BoxSpoutWriterWriterFactory; use BoxSpoutCommonType; $writer = WriterFactory::create(Type::XLSX); $writer-&gt;openToFile('example.xlsx'); $writer-&gt;addRow(['Name', 'Email', 'Age']); $writer-&gt;addRow(['John Doe', 'johndoe@example.com', 30]); $writer-&gt;addRow(['Jane Doe', 'janedoe@example.com', 28]); $writer-&gt;close();</pre>この例では、

WriterFactory

クラスを使用して $writer オブジェクトを作成し、openToFile() を通じて Excel ファイルを開きます。方法。 addRow() メソッドを使用してワークシートにデータを追加し、最後に close() メソッドを使用して Excel ファイルを閉じます。 結論

この記事では、Laravel Excel と Spout を使用して Excel ファイルを処理する方法を学びました。 Laravel Excel は、シンプルなインターフェイスを通じて Excel ファイルの読み取り、書き込み、変更を行うための便利な方法を提供します。一方、Spout は、大きな Excel ファイルの読み書き用に設計された、より高速な PHP ライブラリです。これらのツールは Excel ファイルの処理を大幅に簡素化し、開発者が Excel データをより簡単に処理および管理できるようにします。

以上がLaravel 開発: Laravel Excel と Spout を使用して Excel ファイルを処理する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
JavaScriptフレームワーク(React、Vue、Angular)とLaravelバックエンドの統合JavaScriptフレームワーク(React、Vue、Angular)とLaravelバックエンドの統合May 03, 2025 am 12:20 AM

反応、vue、andangularcanbe veintedated withlaravelbyfollowingspecificsetupSteps.1)forReact:instruectusinglaravelui、setUpComponentsInapp.js.2)forvue:uselaravel'sbuilt-invuesuptort、futureinapp.3)

タスク管理ツール:リモートプロジェクトの進捗状況の優先順位付けと追跡タスク管理ツール:リモートプロジェクトの進捗状況の優先順位付けと追跡May 02, 2025 am 12:25 AM

Taskmanagementtoolsareessentialforeffectiveremoteprojectmanagementbyprioritizingtasksandtrackingprogress.1)UsetoolslikeTrelloandAsanatosetprioritieswithlabelsortags.2)EmploytoolslikeJiraandMonday.comforvisualtrackingwithGanttchartsandprogressbars.3)K

最新のLaravelバージョンはパフォーマンスをどのように改善しますか?最新のLaravelバージョンはパフォーマンスをどのように改善しますか?May 02, 2025 am 12:24 AM

laravel10EnhancesperformAnceTheveralkeyfeatures.1)ItintroduceSquerybuilderCachinucedatedatabaseload.2)itoptimizeseLoquentModelloadingwithlazingproxies.3)itimprovesRoutingWithineSystem.4)itemproveStingwithingingSystem.4)

フルスタックのLaravelアプリケーションの展開戦略フルスタックのLaravelアプリケーションの展開戦略May 02, 2025 am 12:22 AM

最高のフルスタックのLaravelアプリケーション展開戦略には、1。Zeroダウンタイム展開、2。ブルーグリーン展開、3。連続展開、4。Canaryリリースが含まれます。 1.ゼロダウンタイムデプロイメントは、EnvoyまたはDeployerを使用して展開プロセスを自動化して、更新時にアプリケーションを利用できるようにします。 2。ブルーとグリーンの展開により、2つの環境を維持し、迅速なロールバックを可能にすることにより、ダウンタイムの展開が可能になります。 3.継続的な展開GithubactionsまたはGitlabci/CDを使用して、展開プロセス全体を自動化します。 4。nginx構成を通じてカナリーがリリースされ、パフォーマンスの最適化と迅速なロールバックを確保するために、新しいバージョンをユーザーに徐々に宣伝します。

フルスタックのLaravelアプリケーションのスケーリング:ベストプラクティスとテクニックフルスタックのLaravelアプリケーションのスケーリング:ベストプラクティスとテクニックMay 02, 2025 am 12:22 AM

ToscalealAravelApplicationively、Focusondatabasesharding、Caching、Loadbalancing、andMicroservices.1)databaseShardingTodistributedataacrossMultipledatabase.2)uselaraval'scachingsmultedistestemedisemememememememedtededatedatab

静かな闘争:分散型チームのコミュニケーションの障壁を克服します静かな闘争:分散型チームのコミュニケーションの障壁を克服しますMay 02, 2025 am 12:20 AM

ToovercomcomcommunicationbarriersindistributedTeams、使用:1)VideoCallsForface-to-faceInteraction、2)setClearResponsetimeExpectations、3)ChooseaprateCommunicationSoools、4)CreateAmCommunicationGuide、and5)

フルスタックプロジェクトでのフロントエンドテンプレートにLaravel Bladeを使用しますフルスタックプロジェクトでのフロントエンドテンプレートにLaravel Bladeを使用しますMay 01, 2025 am 12:24 AM

laravelbladeEnhancesFrontendTemplatinginfull stackprojectsbyofferingcleansyntaxandpowerfulfeatures.1)itallows foreasyvariabledisplayandcontrolstructures.2)bladeSupportscreating andReusing components、

Laravelを使用したフルスタックアプリケーションの構築:実用的なチュートリアルLaravelを使用したフルスタックアプリケーションの構築:実用的なチュートリアルMay 01, 2025 am 12:23 AM

laravelisidealforfull-stackapplicationsduetoitseLegantyntax、包括的なセコスシステム、およびパワーフルフィーチュア

See all articles

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。