2015-09-18 5 views
3

Я новичок в Laravel и я использую Laravel 4.2Laravel EXCEL и экспорт PDF

Я хотел бы экспортировать некоторые данные в формате PDF и преуспевать.

Есть ли способ в Ларавеле?

ответ

6

Используйте FPDF, чтобы сделать то, что вам нужно. Вы должны создать файл PDF с нуля и заполнить его так, как хотите.

<?php 
require('fpdf.php'); 

$pdf = new FPDF(); 
$pdf->AddPage(); // add page to PDF 
$pdf->SetFont('Arial','B',16); // Choose a font and size 
$pdf->Cell(40,10,'Hello World!'); // write anything to any line you want 
$pdf->Output("your_name.pdf"); // Export the file and send in to browser  
?> 

А для Excel простой способ добавить PHPExcel к Laravel. Добавьте эту строку в composer.json:

"require": { 
    "phpexcel/phpexcel": "dev-master" 
} 

затем запустить composer update. Поэтому использовать его как это:

$ea = new PHPExcel(); 

$ea->getProperties() 
    ->setCreator('somebody') 
    ->setTitle('PHPExcel Demo') 
    ->setLastModifiedBy('soembody') 
    ->setDescription('A demo to show how to use PHPExcel to manipulate an Excel file') 
    ->setSubject('PHP Excel manipulation') 
    ->setKeywords('excel php office phpexcel') 
    ->setCategory('programming') 
    ; 

$ews = $ea->getSheet(0); 
$ews->setTitle('Data'); 

$ews->setCellValue('a1', 'ID'); // Sets cell 'a1' to value 'ID 
$ews->setCellValue('b1', 'Season'); 
3

Использование maatwebsite для создания и импорта Excel, CSV и PDF файлы

Добавить это строки в composer.json:

"require": { 
    "maatwebsite/excel": "~2.1.0" 
} 

После обновления композитор, добавить ServiceProvider к матрице поставщиков в config/app.php

Maatwebsite\Excel\ExcelServiceProvider::class, 

Вы можете использовать фасад для более короткого кода. Добавьте это к вашим aliasses:

'Excel' => Maatwebsite\Excel\Facades\Excel::class, 

Чтобы опубликовать настройки конфигурации в Laravel 5 используют:

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" 

простое использование этого пакета:

$users = User::select('id','name' ,'username')->get(); 
    $Info = array(); 
    array_push($Info, ['id','name' ,'username']); 
    foreach ($users as $user) { 
     array_push($Info, $user->toArray()); 
    } 
    Excel::create('Users', function($excel) use ($Info) { 

     $excel->setTitle('Users'); 
     $excel->setCreator('milad')->setCompany('Test'); 
     $excel->setDescription('users file'); 
     $excel->sheet('sheet1', function($sheet) use ($Info) { 
      $sheet->setRightToLeft(true); 
      $sheet->fromArray($Info, null, 'A1', false, false); 
     }); 

    })->download('xls'); // or download('PDF')