สวัสดีจ้าเพื่อน ๆ มีใครกำลังมองหาวิธีการเขียนโค้ด PHP เพื่อส่งออกข้อมูลออกมาเป็นไฟล์ .xlxs หรือที่มักจะเรียกกันว่า Export to excel โดยใช้ Library ที่มีชื่อว่า PHPExcel แลแะ PhpSpreadsheet ซึ่งเป็น Library ที่รองรับภาษาไทยด้วยนะ วิธีการส่งออกไฟล์ .xlxs แบบหลาย Sheet ในไฟล์เดียวจะเป็นอย่างไร เรามีตัวอย่างโค้ด และ วิธีการใช้งานมาให้เพื่อน ๆ ดูกันที่นี่เลยจ้า
ตัวอย่าง วิธีการส่งออกข้อมูล Export to excel หลาย sheet ในไฟล์เดียว ด้วย PHPExcel
ก่อนอื่นต้องทำการ Download Lribary PHPExcel มาติดตั้งไว้ในโปรเจคของเราก่อน คลิกที่นี่ เพื่อ Download ส่วนวิธีการเรียกใช้งานก็เรียกแบบนี้
require_once 'PHPExcel/Classes/PHPExcel.php';
ส่วนตัวอย่างโค้ดเต็ม ๆ ก็จะเขียนประมาณนี้
require_once 'PHPExcel/Classes/PHPExcel.php'; $spreadsheet = new PHPExcel(); // Create first sheet $sheet = $spreadsheet->createSheet(); $sheet->setTitle('Customer'); $sheet->setCellValue('A1', 'Name'); $sheet->setCellValue('B1', 'Age'); $sheet->setCellValue('C1', 'Gender'); $data = array( array("John Doe", "35", "Male"), array("Jane Doe", "32", "Female"), array("Jim Doe", "40", "Male") ); $row = 2; foreach ($data as $item) { $sheet->setCellValue('A' . $row, $item[0]); $sheet->setCellValue('B' . $row, $item[1]); $sheet->setCellValue('C' . $row, $item[2]); $row++; } // Create second sheet $sheet = $spreadsheet->createSheet(); $sheet->setTitle('Product'); $sheet->setCellValue('A1', 'Product'); $sheet->setCellValue('B1', 'Price'); $data = array( array("Apple", "1.20"), array("Banana", "0.75"), array("Carrot", "0.50") ); $row = 2; foreach ($data as $item) { $sheet->setCellValue('A' . $row, $item[0]); $sheet->setCellValue('B' . $row, $item[1]); $row++; } $writer = PHPExcel_IOFactory::createWriter($spreadsheet, 'Excel2007'); $writer->save('multi_sheet_data.xlsx');
ตัวอย่าง วิธีการส่งออกข้อมูล Export to excel หลาย sheet ใน ไฟล์เดียว ด้วย PhpSpreadsheet
ก่อนอื่นต้องทำการ Download Lribary PhpSpreadsheet มาติดตั้งไว้ในโปรเจคของเราก่อน คลิกที่นี่ เพื่อ Download หรือติดตั้งผ่าน Composer ด้วยคำสั่งนี้
composer require phpoffice/phpspreadsheet
จากนั้นก็ Config ค่าในไฟล์ composer.json ตามด้านล่างนี้
{ "require": { "phpoffice/phpspreadsheet": "^1.23" }, "config": { "platform": { "php": "7.4" } } }
วิธีการเรียกใช้งานก็เรียกโดยการเรียก Vendor/autoload แบบนี้
require 'vendor/autoload.php';
ส่วนตัวอย่างโค้ดเต็ม ๆ ก็จะเขียนประมาณนี้
require 'vendor/autoload.php';; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; $spreadsheet = new Spreadsheet(); // Create first sheet $sheet = $spreadsheet->createSheet(); $sheet->setTitle('Customer'); $sheet->setCellValue('A1', 'Name'); $sheet->setCellValue('B1', 'Age'); $sheet->setCellValue('C1', 'Gender'); $data = array( array("John Doe", "35", "Male"), array("Jane Doe", "32", "Female"), array("Jim Doe", "40", "Male") ); $row = 2; foreach ($data as $item) { $sheet->setCellValue('A' . $row, $item[0]); $sheet->setCellValue('B' . $row, $item[1]); $sheet->setCellValue('C' . $row, $item[2]); $row++; } // Create second sheet $sheet = $spreadsheet->createSheet(); $sheet->setTitle('Product'); $sheet->setCellValue('A1', 'Product'); $sheet->setCellValue('B1', 'Price'); $data = array( array("Apple", "1.20"), array("Banana", "0.75"), array("Carrot", "0.50") ); $row = 2; foreach ($data as $item) { $sheet->setCellValue('A' . $row, $item[0]); $sheet->setCellValue('B' . $row, $item[1]); $row++; } $writer = new Xlsx($spreadsheet); $writer->save('multi_sheet_data.xlsx');
บทความอื่น ๆ ที่เกี่ยวข้องกับ PHP
เป็นยังไงกันบ้างคะ สำหรับบทความเรื่อง PHP export to excel หลาย sheet ในไฟล์เดียว ดูเพลินก็หวังว่าบทความของเราจะเป็นประโยชน์ต่อท่านไม่มากก็น้อย นอกจากนี้ เรายังมีบทความดี ๆ อีกมากมาย คุณสามารถลองคลิกเขาไปอ่านบทความอื่น ๆ ตามลิงค์ด้านล่างได้เลย