Hallo,
hat jemand vielleicht Erfahrung daten von mysql DB in die Exsel-Tabelle zu importiern. Seit Tagen beschäfige ich mich daran. Habe ich eine menge Siten gegoogelt und verschiedene Methoden gefunden, aber trotzdem es klappt mir nicht. Ich schreibe unten einfach, welche Möglichkeiten ich in meinem Skript ausprobiert habe.
1te Version: bei dem klaptt es einigermaßen, es wird eine exsel tabelle eröffnet, aber die daten sind alle innerhalb einer zeile, wobei es nicht um richitge excel datei handelt
2te Version: ich habe das packet 1.7.2.zip von der website php excel auf den server runterladen und entzippt, sodass die ganze classen und php skripte incleded werden können. Bei der Version habe ich keine änderung und keine fehlermeldung. Nicht mal eine leere excel tabelle geöffnet. Habe beim durchsuchen der website irgendwie verstanden, dass das php skript in utf 8 format sein soll, deshalb habe es entsprechend konvertiert. Zur info: der server auf dem mein skript liegt: apache2, ob das Problem daran liegen könnte.
danke voraus
sharmuur
hat jemand vielleicht Erfahrung daten von mysql DB in die Exsel-Tabelle zu importiern. Seit Tagen beschäfige ich mich daran. Habe ich eine menge Siten gegoogelt und verschiedene Methoden gefunden, aber trotzdem es klappt mir nicht. Ich schreibe unten einfach, welche Möglichkeiten ich in meinem Skript ausprobiert habe.
1te Version: bei dem klaptt es einigermaßen, es wird eine exsel tabelle eröffnet, aber die daten sind alle innerhalb einer zeile, wobei es nicht um richitge excel datei handelt
PHP:
$erg=mysql_query($abfrage)
$fields = mysql_num_fields($erg);
for ($i = 0; $i < $fields; $i++) {
$header .= mysql_field_name($erg, $i) . " ";
}
while($row = mysql_fetch_row($erg)) {
$line = '';
foreach($row as $value) {
if ((!isset($value)) OR ($value == "")) {
$value = " ";
} else {
$value = str_replace('"', '""', $value);
$value = '"' . $value . '"' . " ";
}
$line .= $value;
}
$data .= trim($line)."n";
}
$data = str_replace("r","",$data);
if ($data == "") {
$data = "n(0) Records Found!n";
}
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=extraction.xls");
header("Pragma: no-cache");
header("Expires: 0");
2te Version: ich habe das packet 1.7.2.zip von der website php excel auf den server runterladen und entzippt, sodass die ganze classen und php skripte incleded werden können. Bei der Version habe ich keine änderung und keine fehlermeldung. Nicht mal eine leere excel tabelle geöffnet. Habe beim durchsuchen der website irgendwie verstanden, dass das php skript in utf 8 format sein soll, deshalb habe es entsprechend konvertiert. Zur info: der server auf dem mein skript liegt: apache2, ob das Problem daran liegen könnte.
PHP:
error_reporting(E_ALL);
ini_set('include_path', ini_get('include_path').';../Classes/');
include 'PHPExcel.php';
include 'PHPExcel/Writer/Excel2007.php';
include 'PHPExcel/Writer/Excel5.php';
include 'PHPExcel/IOFactory.php';
$erg=mysql_query($abfrage)
$row = 1;
$objPHPExcel = new PHPExcel();
while ($row = mysql_fetch_array($erg, MYSQL_NUM)) {
$column = 'A';
foreach($row as $columnData) {
$cellRef = $column.$row;
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellRef, $columnData);
$column++;
}
$row++;
}
// Save Excel 2007 file
echo date('H:i:s') . " Write to Excel2007 format\n";
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save(str_replace('.php', '.xlsx', __FILE__));
// Echo done
echo date('H:i:s') . " Done writing file.\r\n";
danke voraus
sharmuur