InfoPemrograman

Membuat File docx, xlsx, pptx Secara Terprogram dengan CodeIgniter dan PHPOffice

Sangat memungkinkan jika kita ingin melakukan pembuatan file dokumen, spreadsheet, presentasi secara terprogram menggunakan bahasa pemprograman PHP karena saat ini telah tersedia berbagai pustaka untuk mendukung kegiatan tersebut. Pustaka yang telah banyak digunakan pengembang web salah satunya adalah PHPOffice. PHPOffice sendiri terdiri dari tiga bagian library yang terpisah yaitu: PHPWord, PHPSpreadsheet, PHPPresentation. Library – library tersebut telah mendukung format berkas office yang biasa kita gunakan seperti docx, xlsx, dan pptx.

Pada postingan kali ini, saya akan membuat sebuah web sederhana untuk membuktikan bahwa PHPOffice dapat bekerja atau memberi sedikit gambaran kepada para pengembang web yang belum pernah mencoba nya sama sekali. Pastinya saya akan menggunakan bahasa pemprograman PHP dan menggunakan framework CodeIgniter untuk mempermudah saja. PHPOffice dapat bekerja pada framework PHP apapun.

Hal – hal yang perlu disiapkan adalah:

  1. XAMPP yang terdiri dari Apache HTTP Server dan PHP versi 7 keatas
  2. Text Editor seperti Visual Studio Code
  3. CodeIgniter versi terbaru yaitu 3.1.11
  4. Composer, sebagai manajer paket library PHP
  5. Web Browser (Mozilla Firefox atau Google Chrome)

Langkah – langkah:

1. Menyiapkan project CodeIgniter yang masih fresh, menamai project/folder tersebut dengan nama ciphpoffice, meletakan nya kedalam folder xampp/htdocs, setelah itu membuka project tersebut dengan Visual Studio Code

2. Membuka terminal dari Visual Studio Code, terlatak pada menu Terminal – New Terminal

3. ketikan 3 perintah dibawah satu per satu

composer require phpoffice/phpword
composer require phpoffice/phpspreadsheet
composer require phpoffice/phppresentation

Kenapa harus satu per satu, karena masing – masing perintah akan melakukan download library – library yang dibutuhkan, dan waktu nya bergantung pada kecepatan koneksi internet.

4. Kita edit file config.php, letaknya di application/config/config.php , ganti baris config composer_autoload menjadi

 $config['composer_autoload'] = 'vendor/autoload.php'; 

Tujuannya agar memerintahkan CodeIgniter untuk mencari script auto-loader paket composer yang terletak pada vendor/autoload.php .

5. Kita edit file autoload.php, letaknya di application/config/config.php , ganti baris autoload helper menjadi

 $autoload['helper'] = array('url'); 

Tujuannya agar kita mudah dalam memanggil URL aplikasi yang kita buat

6. Membuat view baru dengan nama home_view.php letaknya di application/views/home_view.php

kode diatas adalah view/tampilan sederhana website yang kita buat, terdapat 3 tombol masing-masing akan mengarahkan pada link tertentu yang akan di proses pada controller

7. Membuat Controller baru dengan nama Home.php , letaknya di application/controllers/Home.php

kode diatas adalah controller yang berisi fungsi – fungsi dasar untuk generate file Office, masing – masing fungsi diatas menentukan nama dan format berkas yang akan di generate, dan sebuat teks yang akan disisipkan ke dalam berkas yaitu helloword seperti biasa ๐Ÿ˜€

8. Cobalah mengakses aplikasi melalu browser dengan alamat http://127.0.0.1/ciphpoffice/index.php/home (IP localhost dapat diganti dengan Private/Public IP PC anda)

9. Klik 3 tombol pada website satu per satu maka browser akan mendownload file yang telah digenerate

10. Anda dapat membuka file – file tersebut dengan aplikasi Office yang tersedia pada PC anda contoh nya Microsoft Office, LibreOffice, iWork, WPS Office, OnlyOffice, dll.

Terbukti sudah bahwa PHP dapat melakukan generate file Office dengan bantuan PHPOffice, thanks to PHPOffice https://github.com/PHPOffice