Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Laravel’de Çoklu Sayfalar ile Excel İhracatı
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Laravel’de Çoklu Sayfalar ile Excel İhracatı

Yazılım

Laravel’de Çoklu Sayfalar ile Excel İhracatı

teknomers
Son güncelleme: 11 Mayıs 2026 03:26
teknomers
Paylaş
Paylaş

Bu örnek, maatwebsite/excel paketini kullanır.

1. Route

Route::get('/export-excel', [App\Http\Controllers\MyController::class, 'excel'])->name('export-excel');

2. Basit Görünüm

Tarih girişi ve indirmeyi tetikleyen bir buton bulunur.

3. Controller

Not: Eğer sorgu uzun sürüyorsa, sayfaları ayırmak daha iyidir. Ayrı dosyalar oluşturun ve FromQuery ile WithChunkReading kullanmaya çalışın.

use Illuminate\Http\Request;
use Maatwebsite\Excel\Facades\Excel;
use App\Excels\Exports\MyExport;
use Illuminate\Support\Facades\DB;

class MyController extends Controller
{
    public function excel(Request $request)
    {
        $start = $request->start_date;
        $end = $request->end_date;

        // Sheet 1
        $sheet1 = DB::table('users')
            ->select('name', 'email')
            ->whereBetween('created_at', [$start, $end])
            ->get()
            ->map(fn($r) => [$r->name, $r->email]);

        // Sheet 2
        $sheet2 = DB::table('orders')
            ->select('invoice', 'total')
            ->whereBetween('created_at', [$start, $end])
            ->get()
            ->map(fn($r) => [$r->invoice, $r->total]);

        return Excel::download(new MyExport($sheet1, $sheet2), 'report.xlsx');
    }
}

4. Çoklu Sayfalar

namespace App\Excels\Exports;

use Maatwebsite\Excel\Concerns\WithMultipleSheets;
use App\Excels\Exports\Sheets\MySheet;

class MyExport implements WithMultipleSheets
{
    public function __construct(protected $sheet1, protected $sheet2) {}

    public function sheets(): array
    {
        return [
            new MySheet($this->sheet1, 'Users'),
            new MySheet($this->sheet2, 'Orders'),
        ];
    }
}

5. Sheet Sınıfı

Her bir örnek, bir Excel sekmesini temsil eder.

namespace App\Excels\Exports\Sheets;

use Maatwebsite\Excel\Concerns\FromArray;
use Maatwebsite\Excel\Concerns\WithTitle;
use Illuminate\Support\Collection;

class MySheet implements FromArray, WithTitle
{
    public function __construct(protected $data, protected $title) {}

    public function array(): array
    {
        if ($this->title === 'Users') {
            return [
                ['NAME', 'EMAIL'],
                ...$this->data->toArray(),
            ];
        }

        return [
            ['INVOICE', 'TOTAL'],
            ...$this->data->toArray(),
        ];
    }

    public function title(): string
    {
        return $this->title;
    }
}

Kaynak: Orijinal Makale

Contents
  • 1. Route
  • 2. Basit Görünüm
  • 3. Controller
  • 4. Çoklu Sayfalar
  • 5. Sheet Sınıfı
Composer yalnızca bir konsol uygulamasıdır
Altyapı Uyarıları İçin Telegram Botu Nasıl Oluşturulur
Laravel’in Fabrika İlişkilerinizi Neden Tahmin Edemediği
Meetsy’yi Nasıl Geliştirdim – Laravel 11 ile Tam Özellikli Bir Özel Mesajlaşma Uygulaması
Kendi Laravel Analytics Paketimi Nasıl Geliştirdim (ve Neredeyse Üretimi Krize Sokmadım)
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale NASA, Mars helikopter rotarlarını ses hızını aştı: SkyFall 3,750 RPM
Sonraki Makale Yapay Zeka Destekli SEO: Laravel ve OpenAI ile Otomatik İçerik Stratejisi Borusu Oluşturma

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Kritik Uyarı: 2026 FIFA Dünya Kupası Dolandırıcılıklarına Dikkat!
Siber Güvenlik
Acil! Cisco, SD-WAN’da yamanmamış sıfır gün açığına dikkat çekti
Siber Güvenlik
Surface Laptop Ultra’nın RTX Spark Süper Çip için 110W TDP hedefi
Donanım
Acil: PCPJack 230 AWS ve Google Cloud Sunucusunu Ele Geçirdi!
Siber Güvenlik
Bellek Çökmesi Yaşamadan Milyonları İşleme: Laravel Lazy Collections
Yazılım
Frore, Nvidia Vera Rubin için LiquidJet Nexus soğutucusunu tanıttı
Donanım
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?