@Celko; şu örnek işinize yarayabilir.
Bilgisayarınızda veya sunucunuzda
Composer kurulu değilse
şu yazımı okumanızı tavsiye ediyorum.
composer.json;
{
"minimum-stability": "dev",
"require": {
"imsaintx/utils": "dev-master",
"phpoffice/phpexcel": "dev-master"
}
}app.php;
<?php
error_reporting(E_ALL);
ini_set("display_errors", true);
ini_set("display_startup_errors", true);
ini_set("html_errors", false);
set_include_path(str_replace("\\", "/", dirname(realpath(__FILE__))));
date_default_timezone_get("Europe/Istanbul");
function path($file)
{
return get_include_path()."/".$file;
}
function load($file)
{
require(get_include_path()."/{$file}");
}
load("vendor/autoload.php");
use \Tools\Utils;
Utils::utf8_header("text/plain");
define("DB_HOST", "127.0.0.1");
define("DB_PORT", 3306);
define("DB_USER", ""); # MySQL kullanıcı adı
define("DB_PASS", ""); # MySQL şifre
define("DB_NAME", ""); # MySQL veritabanı ismi
define("DB_CHARSET", "utf8");
define("DB_COLLATE", "utf8_general_ci");
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_PORT);
$mysqli->set_charset(DB_CHARSET);
$mysqli->query(
sprintf("SET NAMES %s;", DB_CHARSET).
sprintf("SET NAMES %s COLLATE %s;", DB_CHARSET, DB_COLLATE).
sprintf("SET character_set_client = %s;", DB_CHARSET).
sprintf("SET character_set_results = %s;", DB_CHARSET).
sprintf("SET character_set_connection = %s;", DB_CHARSET).
sprintf("SET collation_connection = %s;", DB_COLLATE)
);
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator("Ogün Karakuş")->setlastModifiedBy("Ogün Karakuş")->setTitle("Test Document");
$query = $mysqli->query("SELECT * FROM `TABLO_İSMİ`"); # MySQL sorgusu
$fields = $query->fetch_fields();
$alphabet = range("A", "Z");
foreach($fields as $key => $value)
{
$cell = $alphabet[$key] . "1";
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($cell, $value->name);
$objPHPExcel->getActiveSheet()->getColumnDimension($alphabet[$key])->setWidth(12);
}
$rows = array();
while($row = $query->fetch_assoc())
{
$rows[] = $row;
}
foreach($rows as $key => $value)
{
$values = array_values($value);
foreach($values as $key2 => $value2)
{
$cell = $alphabet[$key2];
$cell .= (string) $key + 2;
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($cell, $value2);
}
}
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel2007");
$objWriter->save(path("test-document.xlsx"));
$mysqli->close();
echo "test-document.xlsx olarak kaydedildi.";