CARA EXPORT DATA DARI TABEL WEB KE EXCEL

Cara Export Data dari Database ke Excel dengan PhpSpreadsheet

Ketika Anda memiliki data di database dan ingin membagikan data tersebut dengan pengguna dalam file Excel, Ada beberapa cara untuk melakukannya, salah satunya yaitu dengan menggunakan library PhpSpreadsheet. Library ini cocok digunakan untuk melakukan operasi Excel pada dokumen berformat .xlsx, .xlsm, .xlsb, .ods, dan .csv.

Berikut langkah-langkah cara melakukan export data dari database ke Excel dengan menggunakan PhpSpreadsheet.

1. Install PhpSpreadsheet

Sebelum memulai, pastikan Anda sudah menginstal library PhpSpreadsheet terlebih dahulu. Anda bisa melakukannya dengan menjalankan perintah berikut:

“`
composer require phpoffice/phpspreadsheet
“`

2. Buat Koneksi ke Database

Setelah menginstal PhpSpreadsheet, selanjutnya buatlah koneksi ke database. Contoh koneksi ke database MySQL dengan PDO:

“`php
$host = ‘localhost’;
$dbname = ‘database’;
$username = ‘root’;
$password = ”;

try
$pdo = new PDO(“mysql:host=$host;dbname=$dbname”, $username, $password);
catch (PDOException $e)
die(“Could not connect to the database $dbname :” . $e->getMessage());

“`

3. Ambil Data dari Database

Selanjutnya, Anda perlu mengambil data yang ingin diekspor dari database. Sebaiknya lakukan query pemilihan data menggunakan kriteria yang Anda butuhkan. Misalnya, kode berikut melakukan query dan mengambil data dari tabel users dengan kondisi tertentu:

“`php
$stmt = $pdo->prepare(“SELECT id, name, email, created_at FROM users WHERE status = :status”);
$stmt->execute([‘status’ => 1]);
$data = $stmt->fetchAll();
“`

4. Buat File Excel dengan PhpSpreadsheet

Selanjutnya, buat file Excel baru dengan menggunakan library PhpSpreadsheet. Pada tahap ini, Anda perlu menyiapkan data header untuk file Excel, termasuk nama kolom atau caption yang akan ditampilkan di file Excel.

“`php
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue(‘A1’, ‘ID’);
$sheet->setCellValue(‘B1’, ‘Name’);
$sheet->setCellValue(‘C1’, ‘Email’);
$sheet->setCellValue(‘D1’, ‘Created At’);
“`

Baca Juga :  Cara Membuat Jumlah Di Microsoft Excel

Anda bisa menyesuaikan dengan nama kolom yang Anda gunakan pada tahap ambil data pada langkah ke-3.

5. Isi Data ke File Excel

Setelah menyiapkan file Excel dan header, selanjutnya Anda perlu mengisi data dari database ke dalam file Excel. Anda bisa melakukan perulangan untuk setiap baris data yang ada dan memasukkan data tersebut ke dalam file Excel.

“`php
$i = 2;
foreach ($data as $row)
$sheet->setCellValue(‘A’ . $i, $row[‘id’]);
$sheet->setCellValue(‘B’ . $i, $row[‘name’]);
$sheet->setCellValue(‘C’ . $i, $row[’email’]);
$sheet->setCellValue(‘D’ . $i, $row[‘created_at’]);
$i++;

“`

6. Simpan File Excel

Setelah data berhasil diisi ke dalam file Excel, selanjutnya simpan file tersebut ke dalam server:

“`php
$writer = new Xlsx($spreadsheet);
$writer->save(‘data_users.xlsx’);
“`

File tersebut akan disimpan pada direktori yang sama dengan script yang dijalankan.

Berikut adalah contoh lengkap script untuk melakukan export data dari database ke Excel dengan menggunakan PhpSpreadsheet:

“`php
getMessage());

$stmt = $pdo->prepare(“SELECT id, name, email, created_at FROM users WHERE status = :status”);
$stmt->execute([‘status’ => 1]);
$data = $stmt->fetchAll();

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue(‘A1’, ‘ID’);
$sheet->setCellValue(‘B1’, ‘Name’);
$sheet->setCellValue(‘C1’, ‘Email’);
$sheet->setCellValue(‘D1’, ‘Created At’);

$i = 2;
foreach ($data as $row)
$sheet->setCellValue(‘A’ . $i, $row[‘id’]);
$sheet->setCellValue(‘B’ . $i, $row[‘name’]);
$sheet->setCellValue(‘C’ . $i, $row[’email’]);
$sheet->setCellValue(‘D’ . $i, $row[‘created_at’]);
$i++;

$writer = new Xlsx($spreadsheet);
$writer->save(‘data_users.xlsx’);
“`

Dengan script di atas, Anda bisa melakukan export data dari database ke dalam file Excel dengan cepat dan mudah.

FAQ:

1. Apakah PhpSpreadsheet bisa digunakan pada PHP yang versi lama?

Jawab: PhpSpreadsheet bisa digunakan pada PHP versi 7.2 ke atas. Jika Anda menggunakan PHP yang lebih lama, maka tidak bisa menggunakan PhpSpreadsheet.

2. Bagaimana jika data pada database sangat banyak, apakah script di atas masih bisa digunakan?

Baca Juga :  CARA MEMBUAT HISTOGRAM DATA KELOMPOK DI EXCEL

Jawab: Jika data pada database sangat banyak, maka proses export ke Excel juga akan memakan waktu yang lama. Anda bisa memilih untuk membatasi jumlah data yang ingin diekspor atau melakukan pagination pada data tersebut.