Ich habe den Quellcode von Limesurvey genommen und die PHPExcel-Bibliothek zu meinem Limesurvey-Code hinzugefügt, um Daten in eine Excel-Datei zu exportieren, nachdem Sie auf einen Link klicken. Derzeit öffnet die Excel-Datei mit einigen Dummy-Daten in es problemlos. Ich muss in der Lage sein, dynamisch Daten vom Webserver hinzuzufügen, nachdem ein Benutzer Umfrageinformation eingibt. Ich habe mir einige Seiten angesehen, die ich gefunden habe, aber ich hatte nicht viel Glück. Kann mir jemand helfen?So exportieren Sie Daten in eine Excel-Datei mit PHPExcel
EDIT
<?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');
Mark zum Download, sah ich Quadratic .php und ich muss die Werte aus MYSQL und nicht aus HTML extrahieren. Entschuldigung, ich habe nicht geklärt. Gibt es dafür Ansatzpunkte? –
die Werte von MySQL Extrahierung ist ein Fall, der Datenbankabfrage ausgeführt wird, die Zeilen iterieren durch, und Speichern jeder Zeile/Spalte Wert in einer Zelle –
Mark, ich habe meinen Code bearbeitet. Ich bin nicht sicher, wie man diesen Code ändert, um den PHPExcel-Code anzupassen, um zu excel auszugeben. –