He tomado el código fuente de limesurvey y he agregado la biblioteca PHPExcel a mi código limesurvey para exportar datos a un archivo Excel después de hacer clic en un enlace. Actualmente, el archivo de Excel se abre con algunos datos ficticios sin problemas. Necesito poder agregar datos dinámicamente desde el servidor web después de que el usuario ingrese la información de la encuesta. He investigado algunos sitios que he encontrado pero no he tenido mucha suerte. ¿Puede alguien ayudarme?Cómo exportar datos a un archivo Excel utilizando PHPExcel
EDITAR
<?php
$dbhost= "mysql"; //your MySQL Server
$dbuser = "survey"; //your MySQL User Name
$dbpass = "password"; //your MySQL Password
$dbname = "database";
//your MySQL Database Name of which database to use this
$tablename = "questions"; //your MySQL Table Name which one you have to create excel file
// your mysql query here , we can edit this for your requirement
$sql = "Select * from $table ";
//create code for connecting to mysql
$Connect = @mysql_connect($dbhost, $dbuser, $dbpass)
or die("Couldn't connect to MySQL:<br>" . mysql_error() . "<br>" . mysql_errno());
//select database
$Db = @mysql_select_db($dbname, $Connect)
or die("Couldn't select database:<br>" . mysql_error(). "<br>" . mysql_errno());
//execute query
$result = @mysql_query($sql,$Connect)
or die("Couldn't execute query:<br>" . mysql_error(). "<br>" . mysql_errno());
error_reporting(E_ALL);
require_once '../Classes/PHPExcel.php';
$objPHPExcel = new PHPExcel();
// Set the active Excel worksheet to sheet 0
$objPHPExcel->setActiveSheetIndex(0);
// Initialise the Excel row number
$rowCount = 1;
//start of printing column names as names of MySQL fields
$column = 'A';
for ($i = 1; $i < mysql_num_fields($result); $i++)
{
$objPHPExcel->getActiveSheet()->setCellValue($column.$rowCount, mysql_field_name($result,$i));
$column++;
}
//end of adding column names
//start while loop to get data
$rowCount = 2;
while($row = mysql_fetch_row($result))
{
$column = 'A';
for($j=1; $j<mysql_num_fields($result);$j++)
{
if(!isset($row[$j]))
$value = NULL;
elseif ($row[$j] != "")
$value = strip_tags($row[$j]);
else
$value = "";
$objPHPExcel->getActiveSheet()->setCellValue($column.$rowCount, $value);
$column++;
}
$rowCount++;
}
// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="results.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
Marcos, miré cuadrática .php y necesito extraer los valores de MYSQL en lugar de los HTML. Perdón por no haber aclarado. ¿Hay algún punto de partida para eso? –
Extraer los valores de MySQL es un caso de ejecución de la consulta de la base de datos, iterar a través de las filas y almacenar cada valor de fila/columna en una celda –
Marcar, he editado mi código. No estoy seguro de cómo cambiar este código para que se ajuste al código PHPExcel para que salga a Excel. –