Anda di halaman 1dari 22

Membuat File MS Office dengan

CodeIgniter dan PHPOffice —


Bagian I (PHPWord)
Avin Riyan
Follow
Mar 14 · 3 min read

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);

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
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

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

class Word extends CI_Controller {

public function index()


{
$phpWord = new PhpWord();
$section = $phpWord->addSection();
$section->addText('Hello World !');

$writer = new Word2007($phpWord);

$filename = 'simple';

header('Content-Type: application/msword');
header('Content-Disposition: attachment;filename="'. $filename .'.docx"');
header('Cache-Control: max-age=0');

$writer->save('php://output');
}
}
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
Welcome to PHPWord's documentation - PHPWord 0.14.0
documentation
PHPWord is a library written in pure PHP that provides a set of classes to write
to and read from different document…
phpword.readthedocs.io

sekian dulu untuk part ini

Membuat File MS Office dengan CodeIgniter dan PHPOffice.


Membuat File MS Office dengan
CodeIgniter dan PHPOffice —
Bagian II (PHPSpreadsheet)
Avin Riyan
Follow
Mar 15 · 3 min read

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);

Pada bagian ini saya akan melakukan uji coba pembuatan file
berformat xlsx secara terprogram yang didalamnya berisi teks
hello world dengan bahasa pemprograman PHP, library
PHPSpreadsheet 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/phpspreadsheet

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 Excel.php, kode lengkapnya seperti ini
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

class Excel extends CI_Controller {

public function index()


{
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');

$writer = new Xlsx($spreadsheet);

$filename = 'simple';

header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'. $filename .'.xlsx"');
header('Cache-Control: max-age=0');

$writer->save('php://output');
}
}

6. coba jalankan di browser dengan


alamat http://127.0.0.1/ciphpoffice/index.php/excel maka
file simple.xlsx akan terdownload

7. Coba kita buka dengan aplikasi Office

begitulah hasil sederhana nya

Penjelasan kode
saat akan memanggil kelas-kelas di PHPSpreadsheet, kita harus
melakukan import menggunakan use …
use PhpOffice\PhpSpreadsheet\Spreadsheet;use
PhpOffice\PhpSpreadsheet\Writer\Xlsx;

Buat objek baru dari kelas Spreadsheet


$spreadsheet = new Spreadsheet();

menentukan value dari cell berdasarkan koordinat bisa


menggunakan method setCellValue()
$sheet = $spreadsheet->getActiveSheet();$sheet->setCellValue(‘A1’,
‘Hello World !’);

Membuat objek baru dari kelas Xlsx


$writer = new Xlsx($spreadsheet);

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/vnd.ms-
excel’);header(‘Content-Disposition: attachment;filename=”’.
$filename .’.xlsx”’);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

Welcome to PhpSpreadsheet's documentation - PhpSpreadsheet


Documentation
None
phpspreadsheet.readthedocs.io
sekian dulu untuk part ini

Membuat File MS Office dengan CodeIgniter dan PHPOffice


Membuat File MS Office dengan
CodeIgniter dan PHPOffice —
Bagian III (PHPPresentation)
Avin Riyan
Follow
Mar 15 · 3 min read

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);

Pada bagian ini saya akan melakukan uji coba pembuatan file
berformat pptx secara terprogram yang didalamnya berisi teks
hello world dengan bahasa pemprograman PHP, library
PHPPresentation 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/phppresentation

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 Presentation.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

use PhpOffice\PhpPresentation\PhpPresentation;
use PhpOffice\PhpPresentation\Writer\PowerPoint2007;
use PhpOffice\PhpPresentation\Style\Alignment;

class Powerpoint extends CI_Controller {

public function index()


{
$phpPresentation = new PhpPresentation();
$currentSlide = $phpPresentation->getActiveSlide();
$shape = $currentSlide->createRichTextShape()
->setHeight(300)
->setWidth(600)
->setOffsetX(170)
->setOffsetY(180);
$shape->getActiveParagraph()->getAlignment()-
>setHorizontal(Alignment::HORIZONTAL_CENTER);
$textRun = $shape->createTextRun('Hello World !');
$textRun->getFont()->setBold(true)
->setSize(60);

$writer = new PowerPoint2007($phpPresentation);


$filename = 'simple';

header('Content-Type: application/vnd.ms-powerpoint');
header('Content-Disposition: attachment;filename="'. $filename .'.pptx"');
header('Cache-Control: max-age=0');

$writer->save("php://output");
}
}

6. coba jalankan di browser dengan


alamat http://127.0.0.1/ciphpoffice/index.php/powerpoint maka
file simple.pptx akan terdownload

7. Coba kita buka dengan aplikasi Office


begitulah hasil sederhana nya

Penjelasan kode
saat akan memanggil kelas-kelas di PHPPresentation, kita
harus melakukan import menggunakan use …
use PhpOffice\PhpPresentation\PhpPresentation;use
PhpOffice\PhpPresentation\Writer\PowerPoint2007;use
PhpOffice\PhpPresentation\Style\Alignment;

Buat objek baru dari kelas PHPPresentation


$phpPresentation = new PhpPresentation();

kita get slide yang aktif


$currentSlide = $phpPresentation->getActiveSlide();

kita buat shape di dalam slide


$shape = $currentSlide->createRichTextShape()->setHeight(300)-
>setWidth(600)->setOffsetX(170)->setOffsetY(180);
Atur shape nya agar berada di tengah
$shape->getActiveParagraph()->getAlignment()-
>setHorizontal(Alignment::HORIZONTAL_CENTER);

tulis teks di dalam slide


$textRun = $shape->createTextRun(‘Hello World !’);$textRun-
>getFont()->setBold(true)->setSize(60);

Membuat objek baru dari kelas PowerPoint2007


$writer = new PowerPoint2007($phpPresentation);

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/vnd.ms-
powerpoint’);header(‘Content-Disposition: attachment;filename=”’.
$filename .’.pptx”’);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

Welcome to PHPPresentation's documentation - PhpPresentation


0.12.0 documentation
PHPPresentation is a library written in pure PHP that provides a set of classes to
write to different presentation file…
phppowerpoint.readthedocs.io

sekian dulu untuk part ini

Membuat File MS Office dengan CodeIgniter dan PHPOffice


 Bagian I (PHPWord)
 Bagian II (PHPExcel)
 Bagian III (PHPPresentation)

Anda mungkin juga menyukai