Ilmu Coding Ilmucoding.com - Merupakan situs yang membantu Anda belajar coding lebih mudah, nyaman, interaktif dan profesional. Belajar sekarang di ilmu coding. GRATIS

Tutorial Laravel #7 – Cara Generate Microsoft Word

1 min read

Tutorial Belajar Framework Laravel

Cara Generate Microsoft Word di Laravel. Dalam mengerjakan project yang terdapat fitur export, biasanya saya menggunakan excel atau pdf. Namun hal itu tidak berguna saat saya ingin menggenerate soal surat-menyurat. Dalam kasus ini lebih cocok menggunakan Microsoft Word. Karena di Microsoft Word bisa langsung di print sesuai data dari database.

Microsoft Word juga memudahkan saya apabila mau mengedit hasil generate dari database. Selain generate text, Anda juga bisa menambahkan image bila diperlukan. Dengan fitur tersebut pastinya akan memudahkan kita sebagai programmer apabila mengerjakan project serupa.

Bila Anda sedang mengerjakan project yang sama dengan saya atau mirip-mirip, silahkan ikuti tutorial kali ini. Di tutorial ini saya akan coba menerangkannya step by step dengan harapan mudah diikuti. Selain itu juga ada contoh project dan source code GRATIS.

Oke, let’s go!

Laravel Generate Microsoft Word

Package yang saya gunakan adalah phpoffice/phpword. Penggunaannya sangat mudah dan powerfull saat digunakan. Mendukung text dan juga image. Anda bisa menggunakannya sekarang.

Let’s go!

Step #1 – Install Project Laravel

Sebelum Anda memulai silahkan buat project / install Laravel terlebih dahulu.

Step #2 – Install Package Phpword

Package ini tidak hanya special untuk Laravel, tapi untuk Php. Meski begitu, package ini tetap bisa digunakan. So, silahkan ketik command berikut:

composer require phpoffice/phpword

Step #3 – Membuat Route

Route ini digunakan untuk memanggil function generate_docx() di dalam controller. Silahkan tambahkan code berikut ini direktori routes/web.php:

Route::get('generate-docx', 'HomeController@generate_docx'); 

Step #4 – Membuat Controller dan Method

Controller ini digunakan untuk menggenerate word. Dalam contoh kasus di bawah ini saya menggunakan data dummy. Anda bisa menyesuaikan jika ingin berasal dari database.

Buat controller Home dengan command ini:

php artisan make:controller HomeController

Kemudian modifikasi seperti di bawah ini:

 <?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Exception;
class HomeController extends Controller
{
    public function generateDocx()
    {
        $phpWord = new \PhpOffice\PhpWord\PhpWord();
        $section = $phpWord->addSection();
        $description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
        $section->addImage("https://ilmucoding.com/wp-content/uploads/2020/01/Tutorial-Belajar-Framework-Laravel.jpg");
        $section->addText($description);
        $objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
        try {
            $objWriter->save(storage_path('helloWorld.docx'));
        } catch (Exception $e) {
        }
        return response()->download(storage_path('helloWorld.docx'));
    }
} 

Step #5 – Testing Project

Now, Anda sudah bisa menjalankan command ini untuk menjalankan project

php artisan serve

Kemudian buka url ini di browser favorit Anda:

127.0.0.1:8000/generate-docx

Penutup

Akhirnya project saya bisa menemukan generate data surat-menyurat yang pas tanpa harus pakai excel maupun PDF. Alhamdulillah.

Anda juga bisa menerapkannya sesuai kebutuhan lho.

Semoga tutorial ini bisa membantu project Laravel Anda. Aamiin.

Selamat belajar.

Ilmu Coding Ilmucoding.com - Merupakan situs yang membantu Anda belajar coding lebih mudah, nyaman, interaktif dan profesional. Belajar sekarang di ilmu coding. GRATIS

Leave a Reply

Your email address will not be published. Required fields are marked *

Jika terbantu dengan artikel ini, silahkan share, beri komentar dan "klik" 1 kali pada iklan ya.