PHPSpreadsheet

 
 

ไลบรารี PHP โอเพ่นซอร์สสำหรับไฟล์สเปรดชีต

อ่าน เขียน จัดการ และประมวลผลไฟล์ Microsoft Excel & LibreOffice Calc

PHPSpreadsheet เป็นไลบรารีโอเพ่นซอร์สที่มีชุดของคลาสต่างๆ เพื่อให้คุณโต้ตอบกับและใช้รูปแบบไฟล์สเปรดชีตต่างๆ ของ Microsoft Excel และ LibreOffice Calc PHPSpreadsheet รองรับสเปรดชีตที่มีเวิร์กชีตตั้งแต่หนึ่งแผ่นขึ้นไป โดยมีเซลล์สำหรับเก็บข้อมูลประเภทต่างๆ เช่น ตัวเลข สูตร รูปภาพ เป็นต้น

Previous Next

เริ่มต้นใช้งาน PHPSpreadsheet

ก่อนอื่นคุณต้องมี PHP เวอร์ชัน 7.1 หรือใหม่กว่าเพื่อพัฒนาโดยใช้ PhpSpreadsheet วิธีที่แนะนำในการติดตั้ง PhpSpreadsheet ในโครงการของคุณคือการใช้ ผู้แต่ง เปิดเทอร์มินัลในไดเร็กทอรีรากของโปรเจ็กต์และรันคำสั่ง:

นี่คือคำสั่ง

 composer require phpoffice/phpspreadsheet 

Composer เสนอตัวติดตั้งที่สะดวกซึ่งคุณสามารถดำเนินการได้โดยตรงจากบรรทัดคำสั่ง คุณสามารถดาวน์โหลดไฟล์นี้หรือตรวจสอบได้ใน GitHub การติดตั้งมีสองวิธี นักแต่งเพลง. ติดตั้งในเครื่องโดยเป็นส่วนหนึ่งของโครงการของคุณ หรือทั่วโลกในฐานะไฟล์เรียกทำงานทั้งระบบ

ทำงานกับเซลล์สเปรดชีต

PHPSpreadsheet ช่วยให้คุณเข้าถึงเซลล์และตั้งค่าตามพิกัด คุณยังสามารถสร้างเซลล์ใหม่และตั้งค่าสูตรในเซลล์ได้อีกด้วย คุณยังสามารถกำหนดค่าเซลล์ให้ครอบครองข้อมูลประเภทต่างๆ เช่น วันที่ เวลา และตัวเลขที่มีศูนย์นำหน้าได้ PHPSpreadsheet ยังให้คุณกำหนดช่วงของเซลล์จากอาร์เรย์ รวมถึงการวนซ้ำผ่านเซลล์โดยใช้ตัววนซ้ำหรือดัชนี คุณยังสามารถใช้ตัวผูกค่าเพื่อให้ป้อนข้อมูลที่เป็นมิตรกับผู้ใช้ได้

สร้าง XLSX ใหม่ - PHP

<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Create a new Spreasheet
$spreadsheet = new Spreadsheet();
// Get active sheet
$sheet = $spreadsheet->getActiveSheet();
// Set cell value
$sheet->setCellValue('A1', 'File Format Developer Guide !');
// Save in Xlsx format
$writer = new Xlsx($spreadsheet);
$writer->save('FileFormat.xlsx');

สร้างและใช้ตัวกรองอัตโนมัติ

เมื่อใช้ PHPSpreadsheet คุณสามารถใช้ช่วงการกรองอัตโนมัติเพื่อกรองและแสดงเฉพาะแถวที่ตรงกับเกณฑ์ที่คุณกำหนดไว้ในตัวกรองอัตโนมัติ คุณสามารถใช้ตัวกรองกับคอลัมน์มากกว่าหนึ่งคอลัมน์เป็นสารเติมแต่งได้

PHPSpreadsheet ให้คุณตั้งค่าพื้นที่กรองอัตโนมัติบนเวิร์กชีต คุณสามารถสร้าง อ่าน และเขียนนิพจน์ตัวกรองอัตโนมัติได้ นอกจากนี้ยังมีตัวกรองประเภทต่างๆ เช่น ตัวกรองธรรมดา ช่องว่างที่ตรงกัน ตัวกรอง DateGroup ตัวกรองที่กำหนดเอง ตัวกรองแบบไดนามิก และตัวกรองสิบอันดับแรก

ใช้ตัวกรองอัตโนมัติใน XLSX - PHP

<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Load existing file without filters 
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load('withoutFilter.xlsx');
// Select active worksheet
$spreadsheet->setActiveSheetIndex(0);
$spreadsheet->getActiveSheet()->setAutoFilter($spreadsheet->getActiveSheet()->calculateWorksheetDimension());
// Set active filters
$autoFilter = $spreadsheet->getActiveSheet()->getAutoFilter();
// Filter the Country column on a filter value of Germany
$autoFilter->getColumn('C')
  ->setFilterType(Column::AUTOFILTER_FILTERTYPE_FILTER)
  ->createRule()
  ->setRule(
    Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
    'Germany'
  );
// Save file
$writer = new Xlsx($spreadsheet);
$writer->save('Filter.xlsx');

เครื่องคำนวณสูตร

ในการคำนวณระดับพื้นฐานถึงขั้นสูงในสเปรดชีตธุรกิจของคุณ คุณสามารถเรียกใช้เครื่องมือคำนวณสูตรของ PHPSpreadsheet ได้อย่างง่ายดาย และส่วนที่เหลือจะจัดการเอง

ตัวแยกวิเคราะห์สูตรของ PHPSpreadsheet สามารถปรับสูตรได้โดยอัตโนมัติในขณะที่กำลังแทรก/ลบแถว/คอลัมน์ สูตร Microsoft Excel จะถูกแปลงเป็นโค้ด PHP ก่อนดำเนินการ เพื่อเพิ่มประสิทธิภาพ แคชการคำนวณใช้เพื่อเก็บผลลัพธ์ของสูตร ในทำนองเดียวกัน แต่ละเวิร์กชีตจะได้รับการดูแลโดยแคชที่แยกจากกัน

 ไทย