1. Go to this page and download the library: Download hqsoft/reportkit 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/ */
hqsoft / reportkit example snippets
use hqsoft\reportkit\document\Document;
// Crear un documento nuevo
$doc = new Document();
// Agregar un título (fila de ancho completo)
$doc->row(function($row) {
$row->col(24)->text('Mi Reporte Mensual')->align('center'); // 24 columnas es el ancho total por defecto
});
// Agregar encabezados
$doc->header(function($row) {
$row->col(8)->text('Producto', true);
$row->col(8)->text('Cantidad', true);
$row->col(8)->text('Precio', true);
});
// Agregar datos
$doc->row(function($row) {
$row->col(8)->text('Laptop');
$row->col(8)->text('10');
$row->col(8)->text('1500.00');
});
use hqsoft\reportkit\renderers\html\HtmlRenderer;
$renderer = new HtmlRenderer();
echo $renderer->render($doc);
use hqsoft\reportkit\renderers\spreadsheet\SpreadsheetRenderer;
$renderer = new SpreadsheetRenderer();
$content = $renderer->render($doc); // Retorna el contenido binario del archivo
file_put_contents('reporte.xlsx', $content);
use hqsoft\reportkit\renderers\csv\CsvRenderer;
$renderer = new CsvRenderer();
echo $renderer->render($doc);
use hqsoft\reportkit\renderers\docx\DocxRenderer;
$renderer = new DocxRenderer();
$content = $renderer->render($doc);
file_put_contents('reporte.docx', $content);
use hqsoft\reportkit\document\CellStyle;
$estiloResaltado = CellStyle::create()
->bold()
->background('#FFFF00')
->color('#FF0000')
->align('center')
->border('bottom', 'thin', '#000000');
$doc->row(function($row) use ($estiloResaltado) {
$row->col(12)->text('¡Importante!')->style($estiloResaltado);
});
use hqsoft\reportkit\document\Column;
$doc->row(function($row) {
// Moneda
$row->col(6)->text('12500.50')->format(Column::FORMAT_CURRENCY);
// Porcentaje
$row->col(6)->text('0.15')->format(Column::FORMAT_PERCENTAGE);
// Fecha (entrada YYYY-MM-DD -> salida DD/MM/YYYY)
$row->col(6)->text('2026-02-03')->format(Column::FORMAT_DATE);
// Número con separadores
$row->col(6)->text('1000000')->format(Column::FORMAT_NUMBER);
});
$doc->addStyle('titulo', CellStyle::create()->fontSize(20)->bold());
// Usar por nombre
$doc->row(function($row) {
$row->col(24)->text('Mi Título')->style('titulo');
});