1- Baixamos a biblioteca externa PHPSpreadSheet sem o compositor https://php-download.com/downloads/phpoffice/phpspreadsheet/1.8.2.0/phpoffice_phpspreadsheet_1.8.2.0_require.zip
2- Em seguida, procederemos ao carregamento da biblioteca externa no scriptcase: https://www.youtube.com/watch?v=nPiAVJZBbq8 podemos nos guiar por este vídeo se ainda não soubermos como usar as bibliotecas externas no scriptcase
3- No nosso caso, a biblioteca que vamos usar é chamada PHP
4- Se entrarmos, podemos ver nossas pastas carregadas
5- Então, passamos a usar nossa biblioteca em um aplicativo em branco
6- No caso de chamadas das classes a serem usadas da biblioteca, o scriptcase usa o seguinte
- Se a classe estiver em \ PhpOffice \ PhpSpreadsheet \ src \ Spreadsheet.php, em seguida, para usar no scriptcase, você deve executar \ PhpOffice \ PhpSpreadsheet \ Spreadsheet ();
Exemplo de código para usar o SpreadSheet
includesc_url_library("prj","PHP","vendor/autoload.php");
$documento= new \PhpOffice\PhpSpreadsheet\Spreadsheet();
$documento
->getProperties()
->setCreator("Prueba")
->setLastModifiedBy('JuanAquino') // última vez modificado por
->setTitle('Miprimer documento creado con PhpSpreadSheet')
->setSubject('Elasunto')
->setDescription('Estedocumento fue generado para prueba')
->setKeywords('etiquetas opalabras clave separadas por espacios')
->setCategory('Lacategoría');
$nombreDelDocumento= "Mi primer archivo.xlsx";
header('Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition:attachment;filename="' . $nombreDelDocumento . '"');
header('Cache-Control:max-age=0');
#Como ya hay una hoja por defecto, la obtenemos, no la creamos
$hojaDeProductos= $documento->getActiveSheet();
$hojaDeProductos->setTitle("Productos");
#Escribir encabezado de los productos
//$encabezado=["id","nombre","apellido","edad","nacionalidad","profesion","sexo","nacimiento"];
$encabezado=["id","nombre","apellido","edad","sexo","fechaNacimiento0","nacionalidad"];
#El último argumento es por defecto A1 pero lo pongo para que seexplique mejor
$hojaDeProductos->fromArray($encabezado,null, "A1");
//$consulta= "SELECT id, nombre, apellido, edad, nacionalidad, profesion,sexo, nacimiento FROM dbo.tabla2";
$consulta= "SELECT id, nombre, apellido, edad, sexo, fechaNacimiento0,nacionalidad FROM dbo.prueba";
sc_select(ds,$consulta);
//var_dump({ds});
#Comenzamos en la 2 porque la 1 es del encabezado
$numeroDeFila= 2;
$producto= {ds};
foreach($productoas $key => $valor)
{
$id= $valor['id'];
$nombre = $valor['nombre'];
$apellido = $valor['apellido'];
$edad = $valor['edad'];
$nacionalidad= $valor['nacionalidad'];
$profesion= $valor['profesion'];
$sexo = $valor['sexo'];
$fechaNacimiento = $valor['nacimiento'];
#Escribirlos en el documento
$hojaDeProductos->setCellValueByColumnAndRow(1,$numeroDeFila, $id);
$hojaDeProductos->setCellValueByColumnAndRow(2,$numeroDeFila, $nombre);
$hojaDeProductos->setCellValueByColumnAndRow(3,$numeroDeFila, $apellido);
$hojaDeProductos->setCellValueByColumnAndRow(4,$numeroDeFila, $edad);
$hojaDeProductos->setCellValueByColumnAndRow(5,$numeroDeFila, $nacionalidad);
$hojaDeProductos->setCellValueByColumnAndRow(6,$numeroDeFila, $profesion);
$hojaDeProductos->setCellValueByColumnAndRow(7,$numeroDeFila, $sexo);
$hojaDeProductos->setCellValueByColumnAndRow(8,$numeroDeFila, $fechaNacimiento);
$numeroDeFila++;
}
$writer= PhpOffice\PhpSpreadsheet\IOFactory::createWriter($documento,'Xlsx');
$writer->save('php://output');
exit;