Friday, 4 May 2018

PHPOffice : PhpSpreadsheet

Status : Draft


FAQ


1. Bagaimana mendapatkan string kolom, dari angka ?

use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
Coordinate::stringFromColumnIndex(1);

Untuk informasi lebih lanjut lihat disini.

2. style dan protection (todo : perlu dilengkapi )

$styleArray = [
    'font' => [
        'bold' => true,
        'size' => 12
    ],
    'alignment' => [
        'horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_RIGHT,
    ],
    'borders' => [
//opsinya bisa : left, right, top, bottom, diagonal, allBorders, outline, inside, vertical, horizontal
        'top' => [
            'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
        ],
    ],
    'fill' => [
        'fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_GRADIENT_LINEAR,
        'rotation' => 90,
        'startColor' => [
            'argb' => 'FFA0A0A0',
        ],
        'endColor' => [
            'argb' => 'FFFFFFFF',
        ],
    ],
];

$spreadsheet->getActiveSheet()->getStyle('A3')->applyFromArray($styleArray);
$spreadsheet->getActiveSheet()->getColumnDimension('D')->setWidth(12);
$spreadsheet->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
$spreadsheet->getActiveSheet() ->getProtection()->setSheet(true);
$spreadsheet->getActiveSheet()->getStyle('B1') ->getProtection() ->setLocked(\PhpOffice\PhpSpreadsheet\Style\Protection::PROTECTION_UNPROTECTED);

Untuk informasi lebih lanjut : Styling cell bordersSetting a column's width,  Setting security on a spreadsheet

3. freezePane

$sheet->freezePaneByColumnAndRow(4,4);

Untuk informasi lebih lanjut : Freeze Panes

4. Membaca File 

Untuk informasi lebih lanjut Reading Files

5. Menulis File 

Untuk informasi lebih lanjut Writing a spreadsheetGenerating Excel Using PhpSpreadsheet in PHP

Referensi

  1. A pure PHP library for reading and writing spreadsheet files https://phpspreadsheet.readthedocs.io
  2. PhpSpreadsheet samples, https://github.com/PHPOffice/PhpSpreadsheet/tree/develop/samples

Thursday, 27 July 2017

Membaca Beberapa Baris Terakhir dari Sebuah File

Terkadang kita perlu membaca beberapa bari terakhir dari sebuah file, misal untuk membaca file log. Memang, di Linux kita dapat menggunakan perintah tail, tapi solusi ini tidak berjalan di semua sistem operasi.

Alhamdulillah, Om Lorenzo sudah memberikan solusi untuk ini, banyak cara yang memungkinkan [1], tapi Om Lorenzo sudah memastikan bawa cara dibawah ini adalah cara yang terbaik, jangan lupa, setiap baris pada file log, harus diakhir dengan new line character \n :

Referensi


  1. What is the best way in PHP to read last lines from a file?, https://stackoverflow.com/questions/15025875/what-is-the-best-way-in-php-to-read-last-lines-from-a-file/15025877#15025877

Wednesday, 26 July 2017

PhpSpreadsheet : Protected Cells

Status : Draft

Berikut hanya potongan-potongan kode saja :

//style cell yang dapat diedit
$editable_cell_style = array(
 'fill' => array(
  'type' => PHPExcel_Style_Fill::FILL_SOLID,
  'color' => array('rgb' => '66ff99')
  )
);

//protect all cell by default
$sheet->getProtection()->setPassword('amanah');
$sheet->getProtection()->setSheet(true);

$sheet->getStyle('C6')->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);
$sheet->getStyle('C6')->applyFromArray($editable_cell_style);

//sembunyikan kolom A
$sheet->getColumnDimension("A")->setVisible(false);