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