1. Go to this page and download the library: Download avadim/fast-excel-writer library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
avadim / fast-excel-writer example snippets
$sheet->writeCell(12345); // The number 12345 will be written into the cell
$sheet->writeCell('12345'); // The number 12345 will also be written here
$sheet->writeCell(12345); // The number 12345 will be written into the cell
$sheet->writeCell('12345'); // Here the string '12345' will be written into the cell
$excel = Excel::create(['Sheet1'], ['auto_convert_number' => true]);
$sheet = $excel->sheet();
$sheet->writeCell('12345'); // String '12345' will be automatically converted to a number
use \avadim\FastExcelWriter\Excel;
$head = ['Date', 'Name', 'Amount'];
$data = [
['2003-12-31', 'James', '220'],
['2003-8-23', 'Mike', '153.5'],
['2003-06-01', 'John', '34.12'],
];
$headStyle = [
'font' => [
'style' => 'bold'
],
'text-align' => 'center',
'vertical-align' => 'center',
'border' => 'thin',
'height' => 24,
];
$excel = Excel::create(['Sheet1']);
$sheet = $excel->sheet();
// Write the head row (sets style via array)
$sheet->writeHeader($head, $headStyle);
// The same result with new fluent interface
$sheet->writeHeader($head)
->applyFontStyleBold()
->applyTextAlign('center', 'center')
->applyBorder(Style::BORDER_STYLE_THIN)
->applyRowHeight(24);
// Sets columns options - format and width (the first way)
$sheet
->setColFormats(['@date', '@text', '0.00'])
->setColWidths([12, 14, 5]);
// The seconds way to set columns options
$sheet
// column and options
->setColDataStyle('A', ['format' => '@date', 'width' => 12])
// column letter in lower case
->setColDataStyle('b', ['format' => '@text', 'width' => 24])
// column can be specified by number
->setColDataStyle(3, ['format' => '0.00', 'width' => 15, 'color' => '#090'])
;
// The third way - all options in multilevel array (first level keys point to columns)
$sheet
->setColDataStyle([
'A' => ['format' => '@date', 'width' => 12],
'B' => ['format' => '@text', 'width' => 24],
'C' => ['format' => '0.00', 'width' => 15, 'color' => '#090'],
]);
$rowNum = 1;
foreach($data as $rowData) {
$rowOptions = [
'height' => 20,
];
if ($rowNum % 2) {
$rowOptions['fill-color'] = '#eee';
}
$sheet->writeRow($rowData, $rowOptions);
}
$excel->save('simple.xlsx');
$sheet1->writeCell('Text to A1');
$sheet1->addNote('A1', 'This is a note for cell A1');
$sheet1->writeCell('Text to B1')->addNote('This is a note for B1');
$sheet1->writeTo('C4', 'Text to C4')->addNote('Note for C1');
// If you specify a range of cells, then the note will be added to the left top cell
$sheet1->addNote('E4:F8', "This note\nwill added to E4");
// You can split text into multiple lines
$sheet1->addNote('D7', "Line 1\nLine 2");
$sheet1->addNote('A1', 'This is a note for cell A1', ['width' => '200pt', 'height' => '100pt', 'fill_color' => '#ffcccc']);
// Parameters "width" and "height" can be numeric, by default these values are in points
// The "fill_color" parameter can be shortened
$noteStyle = [
'width' => 200, // equivalent to '200pt'
'height' => 100, // equivalent to '100pt'
'fill_color' => 'fcc', // equivalent to '#ffcccc'
];
$sheet1->writeCell('Text to B1')->addNote('This is a note for B1', $noteStyle);
// This note is visible when the Excel workbook is displayed
$sheet1->addNote('C8', 'This note is always visible', ['show' => true]);
$richText = new \avadim\FastExcelWriter\RichText('here is <c=f00>red</c> and <c=00f>blue</c> text');
$sheet1->addNote('C8', $richText);
// Insert an image to the cell A1
$sheet1->addImage('A1', 'path/to/file');
// Insert an image to the cell B2 and set with to 150 pixels (height will change proportionally)
$sheet1->addImage('B2', 'path/to/file', ['width' => 150]);
// Set height to 150 pixels (with will change proportionally)
$sheet1->addImage('C3', 'path/to/file', ['height' => 150]);
// Set size in pixels
$sheet1->addImage('D4', 'path/to/file', ['width' => 150, 'height' => 150]);
// Add hyperlink to the image
$sheet1->addImage('D4', 'path/to/file', ['width' => 150, 'height' => 150, 'hyperlink' => 'https://www.google.com/']);