خروجی اکسل در PHP ( ویدیویی + فارسی و راستچین )

خروجی اکسل در PHP – اگر بخواهیم با کمک پی اچ پی داده ها را با فرمت xls که مختص نرم افزار اکسل است خروجی دهیم این آموزش برایتان مفید واقع خواهد شد .
قبل از هر چیزی باید کتابخانه PhpSpreadsheet را به پروژه تان اضافه کنید .
composer require phpoffice/phpspreadsheet
در صورتی که با 2 تابع setHeader و setBody آشنایی ندارید می توانید این آموزش را مطالعه کنید .
خروجی برنامه
سورس کامل
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
function getChrByAscii($num){
$list = [
"A" => 1,
"B" => 2,
"C" => 3,
"D" => 4,
"E" => 5,
"F" => 6,
"G" => 7,
"H" => 8,
"I" => 9,
"J" => 10,
"K" => 11,
"L" => 12,
"M" => 13,
"N" => 14,
"O" => 15,
"P" => 16,
"Q" => 17,
"R" => 18,
"S" => 19,
"T" => 20,
"U" => 21,
"V" => 22,
"W" => 23,
"X" => 24,
"Y" => 25,
"Z" => 26
];
$chr = "";
$max = 26;
$repeat = 0;
while ($max < $num) {
$num -= $max;
$repeat++;
}
if($repeat){
$chr .= getChrByAscii($repeat);
}
foreach($list as $key=>$ls){
if($num === $ls){
$chr .= $key;
break;
}
}
return $chr;
}
function setHeader(int $number = 1){
$stuffix = 1;
return getChrByAscii($number) . $stuffix;
}
function setBody(string $header , int $number = 1){
$header = preg_replace("/\d/", "", $header);
$body = $header . $number + 1;
return $body;
}
function generateXls(array $heads, array $rows){
$spreadsheet = new Spreadsheet();
$spreadsheet->getActiveSheet()->getStyle('1:1')->getFont()->setBold(true);
$sheet = $spreadsheet->getActiveSheet();
$headPos = [];
// add head
foreach($heads as $key=>$head){
$headPos[] = setHeader($key+1);
$pos = $headPos[$key];
$sheet->setCellValue($pos, $head);
}
// add body
foreach($rows as $i1=>$row){
foreach($row as $i2=>$element){
$sheet->setCellValue($headPos[$key], $head);
$pos = setBody($headPos[$i2] , $i1+1);
$sheet->setCellValue($pos, $element);
}
}
$writer = new Xlsx($spreadsheet);
$writer->save('RapidCode.ir.xlsx');
}
$head = [
"id",
"username",
"Fullname",
"Age",
"شهر",
"Weight(KG)",
"Height(METER)"
];
$body = [
[1,"arm@n01","آرمان زرین",22,"Mashhad",62,1.75],
[2,"soorena_irany","soorena parsa",26,"Tehran",71,1.83],
[3,"pezhMan","پژمان خرم",31,"Lorestan",84,1.78]
];
generateXls($head, $body);
پس از اجرای کد بالا در مسیر اصلی پروژه فایلی با پسوند xlsx را خواهید دید اکنون می توانید آن را باز کنید .
لیست نظرات
سلام این فایل در فایل فشرده وجود ندارد 'vendor/autoload.php';
درود ، دستور composer require phpoffice/phpspreadsheet اجرا کنید .
ممنون. کاشکی تبدیل به pdf هم آموزش بدین