Membuat File MS Office dengan CodeIgniter dan PHPOffice — Bagian I (PHPWord)

Avin Riyan
3 min readMar 14, 2019

--

PHPOffice adalah library PHP yang terdiri dari 3 bagian terpisah yaitu PHPWord, PHPSpreadsheet, dan PHPPresentation.

  • PHPWord untuk membaca dan menulis dokumen pengolah kata (docx/odt);
  • PHPSpreadsheet untuk membaca dan menulis dokumen spreadsheet (xlsx/ods);
  • PHPPresentation untuk membaca dan menulis dokumen presentasi (pptx/odp);

Artikel Terkait: Membuat File docx, xlsx, pptx Secara Terprogram dengan CodeIgniter dan PHPOffice (berqas.com)

Pada bagian ini saya akan melakukan uji coba pembuatan file berformat docx secara terprogram yang didalamnya berisi teks hello world dengan bahasa pemprograman PHP, library PHPWord dan framework CodeIgniter.

Yang perlu disiapkan adalah

  1. Apache Web Server dan PHP7 (atau pakai XAMPP);
  2. Text Editor kesukaanmu (saya pakai VS Code);
  3. CodeIgniter yang telah terdownload https://codeigniter.com/download , saya pakai versi 3.1.10
  4. Composer https://getcomposer.org/download/
  5. Browser (saya pakai Chrome)

Langkah-langkahnya:

  1. Siapkan project CodeIgniter baru atau yang sudah pernah dibuat. nama folder project saya adalah ciphpoffice. Buka dengan text editor kesukaanmu.
  2. Buka terminal/cmd dan arahkan ke dalam folder ciphpoffice atau bagi pengguna text editor VS Code cukup menekan tombol Ctrl+shift+`
Membuka terminal baru via VS Code

3. ketikan perintah ini pada terminal

composer require phpoffice/phpword

tunggu proses installnya sampai selesai (membutuhkan waktu tergantung daripada koneksi internet)

4. Buka file application/config/config.php dan edit vendor directory path nya (jika sudah, skip langkah ini) menjadi

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

5. Buat controller baru di folder application/controller dengan nama Word.php, kode lengkapnya seperti ini

6. coba jalankan di browser dengan alamat http://127.0.0.1/ciphpoffice/index.php/word maka file simple.docx akan terdownload

7. Coba kita buka dengan aplikasi Office

dokumen docx dengan teks hello world

begitulah hasil sederhana nya

Penjelasan kode

saat akan memanggil kelas-kelas di PHPWord, kita harus melakukan import menggunakan use …

use PhpOffice\PhpWord\PhpWord;use PhpOffice\PhpWord\Writer\Word2007;

Buat objek baru dari kelas PHPWord

$phpWord = new PhpWord();

Setiap elemen yang terlihat di word itu terletak di dalam section. buat section dengan kode berikut

$section = $phpWord->addSection();

untuk menambahkan teks paragraf dengan style yang sama, gunakan method addText()

$section->addText(‘Hello World !’);

membuat objek baru dari kelas Word2007

$writer = new Word2007($phpWord);

Content-Dispotition header digunakan untuk menentukan nama file dan memaksa browser menampilkan dialog save, kita juga menentukan Content-Type dan Cache-Control nya

$filename = ‘simple’;header(‘Content-Type: application/msword’);header(‘Content-Disposition: attachment;filename=”’. $filename .’.docx”’);header(‘Cache-Control: max-age=0’);

terakhir kita panggil method save() dengan parameter php://output

$writer->save(‘php://output’);

Untuk teman2 yang mau bereksperimen dengan fitur yang lainnya, bisa cek dokumentasinya di

sekian dulu untuk part ini

Membuat File MS Office dengan CodeIgniter dan PHPOffice

--

--

Avin Riyan

Penulis di berqas.com dan pengelola kanal berqas 🧪🐟⚙️🐄🌳🪨🍞✈️