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

خروجی اکسل در 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 را خواهید دید اکنون می توانید آن را باز کنید .

آموزش خروجی اکسل در PHP

ارسال نظر

جهت استفاده از کد حتما از تگ pre استفاده نمایید .

لیست نظرات

  1. رجبی
    رجبی

    سلام این فایل در فایل فشرده وجود ندارد 'vendor/autoload.php';

    20 آذر 1402 | 14:16:59
  • حسین باقری
    حسین باقری

    درود ، دستور composer require phpoffice/phpspreadsheet اجرا کنید .

    21 آذر 1402 | 14:49:26
  • امیرحسین آقاجانی
    امیرحسین آقاجانی

    ممنون. کاشکی تبدیل به pdf هم آموزش بدین

    14 اسفند 1401 | 10:47:02
  • contact us