PHP ส่งออกข้อมูล export to excel จากฐานข้อมูล database

Spread the love

สวัสดีจ้าเพื่อน ๆ มีใครกำลังมองหาวิธีการเขียนโค้ด PHP เพื่อส่งออกข้อมูลออกมาเป็นไฟล์ .xlxs หรือที่มักจะเรียกกันว่า Export to excel โดยใช้ Library ที่มีชื่อว่า PHPExcel แลแะ PhpSpreadsheet ซึ่งเป็น Library ที่รองรับภาษาไทยด้วยนะ วิธีการส่งออกไฟล์ .xlxs จากฐานข้อมูล Database จะต้องทำอย่างไร เรามีตัวอย่างโค้ด และ วิธีการใช้งานมาให้เพื่อน ๆ ดูกันที่นี่เลยจ้า

ตัวอย่าง วิธีการส่งออกข้อมูล Export to excel จากฐานข้อมูล Database ด้วย PHPExcel

ก่อนอื่นต้องทำการ Download Lribary PHPExcel มาติดตั้งไว้ในโปรเจคของเราก่อน คลิกที่นี่ เพื่อ Download ส่วนวิธีการเรียกใช้งานก็เรียกแบบนี้

require_once 'PHPExcel/Classes/PHPExcel.php';

ส่วนตัวอย่างโค้ดเต็ม ๆ ก็จะเขียนประมาณนี้

// Connect to MySQL database
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = mysqli_connect($servername, $username, $password, $dbname);

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

// Query the database
$sql = "SELECT id, name, email FROM users";
$result = mysqli_query($conn, $sql);

require_once 'PHPExcel/Classes/PHPExcel.php';
$spreadsheet = new PHPExcel();

// Set the column headers
$sheet = $spreadsheet->createSheet();
$sheet->setTitle('User data');
$sheet->setCellValue('A1', 'ID');
$sheet->setCellValue('B1', 'Name');
$sheet->setCellValue('C1', 'Email');

// Fill in the data to the sheet
$row = 2;
while ($row_data = mysqli_fetch_array($result)) {
    $sheet->setCellValue('A' . $row, $row_data['id']);
    $sheet->setCellValue('B' . $row, $row_data['name']);
    $sheet->setCellValue('C' . $row, $row_data['email']);
    $row++;
}

$writer = PHPExcel_IOFactory::createWriter($spreadsheet, 'Excel2007');
$writer->save('export_database.xlsx');

// Close the MySQL connection
mysqli_close($conn);

ตัวอย่าง วิธีการส่งออกข้อมูล Export to excel จากฐานข้อมูล Database ด้วย 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 แบบนี้

// Connect to MySQL database
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = mysqli_connect($servername, $username, $password, $dbname);

if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}

// Query the database
$sql = "SELECT id, name, email FROM users";
$result = mysqli_query($conn, $sql);

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$spreadsheet = new Spreadsheet();

// Set the column headers
$sheet = $spreadsheet->createSheet();
$sheet->setTitle('User data');
$sheet->setCellValue('A1', 'ID');
$sheet->setCellValue('B1', 'Name');
$sheet->setCellValue('C1', 'Email');

// Fill in the data to the sheet
$row = 2;
while ($row_data = mysqli_fetch_array($result)) {
$sheet->setCellValue('A' . $row, $row_data['id']);
$sheet->setCellValue('B' . $row, $row_data['name']);
$sheet->setCellValue('C' . $row, $row_data['email']);
$row++;
}

$writer = new Xlsx($spreadsheet);
$writer->save('export_database.xlsx');

// Close the MySQL connection
mysqli_close($conn);

บทความอื่น ๆ ที่เกี่ยวข้องกับ PHP

เป็นยังไงกันบ้างคะ สำหรับบทความเรื่อง PHP export to excel จากฐานข้อมูล database ดูเพลินก็หวังว่าบทความของเราจะเป็นประโยชน์ต่อท่านไม่มากก็น้อย นอกจากนี้ เรายังมีบทความดี ๆ อีกมากมาย คุณสามารถลองคลิกเขาไปอ่านบทความอื่น ๆ ตามลิงค์ด้านล่างได้เลย

เทคนิคอื่นๆ เกี่ยวกับการเขียนโค้ด คลิก

อย่าลืมไปติดตาม Facebook fanpage ของเรา >> Click <<