เนื้อหานี้จะเป็นเริ่มต้นการใช้งาน PhpSpreadsheet สำหรับการออกรายงานหรือสร้าง
ไฟล์ excel โดย PhpSpreadsheet เป็น PHP Library ที่พัฒนาใหม่มาใช้แทน PHPExcel ซึ่งปัจจุบัน
ไม่ได้มีการพัฒนาต่อแล้ว เนื้อหา PHPExcel ในเว็บไซต์ของเราก็ยังสามารถใช้งานได้ แต่แนะนำ
ให้เปลี่ยนมาใช้ตัวใหม่แทน
ความต้องการของโปรแกรม
สิ่งที่จะเป็นจะต้องมีเมื่อมีจะนำ PhpSpreadsheet ไปใช้งาน มีดังนี้้
- เป็น PHP เวอร์ชั่น 5.6 ขึ้นไป (เฉพาะเวอร์ชั่น 1.8.2 ลงมา) มากกว่า 1.8.2 ต้องใช้ PHP 7.1 ขึ้นไป
- เปิดใช้งาน php_zip extension
- เปิดใช้งาน php_xml extension
- เปิดใช้งาน php_gd2 extension
สามารถดูแนวทางการเปิดใช้งาน extension กรณีพัฒนาที่เครื่องด้วยโปรแกรมจำลอง server เช่น xampp ได้ที่บทความ
ตามลิ้งค์ http://niik.in/633 โดยดูตอนท้ายของบทความ
การติดตั้ง PhpSpreadsheet
เราจะใช้ composer เพื่อทำการติดตั้ง PhpSpreadsheet มาใช้งานในโปรเจ็คของเรา ด้วยคำสั่ง ด้านล่างผ่าน command line
composer require phpoffice/phpspreadsheet // ใช้คำสั่งนี้จะได้เวอร์ชั่นล่าสุด จะต้องใช้ PHP 7.1 ขึ้นไป composer require phpoffice/phpspreadsheet:1.8.2 // ใช้คำสั่งนี้จะได้เวอร์ชั่นที่รองรับPHP 5.6 ขึ้นไป
ทดสอบการทำงานเบื้องต้น
ให้เราสร้างไฟล์ชื่อ test.php แล้วกำหนดโค้ดดังนี้
<?php // include composer autoload require 'vendor/autoload.php'; // import the PhpSpreadsheet Class use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $sheet->setCellValue('A1', 'Hello World !'); // กำหนดค่าใน cell A1 $sheet->setCellValue('B1', 'ทดสอบข้อความภาษาไทย !'); // กำหนดค่าใน cell B1 $writer = new Xlsx($spreadsheet); $output_file = "hello_world.xlsx"; // กำหนดชื่อไฟล์ excel ที่ต้องการ $writer->save($output_file); // สร้าง excel if(file_exists($output_file)){ // ตรวจสอบว่ามีไฟล์ หรือมีการสร้างไฟล์ แล้วหรือไม่ echo '<a href="'.$output_file.'" target="_blank">Download</a>'; }
รันไฟล์ test.php โดยเมื่อรันไฟล์ผ่านบราวเซอร์แล้ว หากไม่เกิดข้อผิดพลาดใดๆ ตัว PhpSpreadsheet จะทำการ
สร้างไฟล์ชื่อ hello_world.xlsx ไว้ที่ path เดียวกับไฟล์ test.php ดังรูป