CARA EXPORT DATA KE EXCEL DENGAN NAVICAT

Cara Mudah Export Data ke dalam Excel Menggunakan PhpSpreadsheet, Zahir, dan PHP

Ketika harus memproses data yang sangat besar, sering kali dihadapkan dengan masalah dimana data harus di-export ke dalam Excel. Baik itu untuk keperluan laporan, analisis, atau presentasi. Seiring dengan perkembangan teknologi, mulai muncul kode-kode yang memudahkan untuk ekspor data dari database ke dalam format excel. Dalam artikel ini, kita akan membahas lebih detail tentang bagaimana cara export data dari database ke dalam format Excel menggunakan PhpSpreadsheet, Zahir, dan PHP.

Cara Export Data dari Database ke dalam Excel Menggunakan PhpSpreadsheet

PhpSpreadsheet adalah perpustakaan PHP yang bisa digunakan untuk membuat file Excel dari data yang terdapat di dalam database. Cara menggunakannya cukup mudah, berikut langkah langkahnya:

  1. Langkah pertama adalah mengunduh dan menginstal library PhpSpreadsheet. Hal ini bisa dilakukan dengan mengekstrak file .zip atau .tar.gz setelah di-download dari situs resminya di https://phpspreadsheet.readthedocs.io/en/latest/. Setelah itu, kita bisa mengintegrasikan library ini ke dalam projek kita secara manual atau dengan menggunakan composer.
  2. Selanjutnya, kita buat file dalam projek yang berisi kode php yang berisi query select dari database. Dalam tutorial ini, saya akan menggunakan database MySQL dan menggunakan tabel mahasiswa sebagai contoh. Kita akan menarik nama, alamat, dan kota dari setiap record di tabel mahasiswa.
  3. Jangan lupa untuk memasukkan kode PhpSpreadsheet di awal file untuk memanggil perpustakaannya.
  4. Setelah itu, kita mulai buat file excel. Yang pertama kita buat adalah baris header. Kita buat variabel-variabel yang berisi data header, dan kemudian menuliskannya di baris pertama menggunakan fungsi setCellValue dari objek worksheet.
  5. Lalu, kita akan menuliskan data dari tabel di dalam file Excel. Kita bisa menggunakan loop for untuk menuliskan setiap baris yang dihasilkan dari query select tadi.
  6. Terakhir, kita menyimpan file Excel yang dibuat menggunakan fungsi save dari objek spreadsheet.
Baca Juga :  CARA MEMBUAT ANGKA KUADRAT DI EXCEL

Berikut kode lengkapnya:

Kode PHP

getActiveSheet();

    // Insert header row
    $header = ['Name', 'Address', 'City'];
    $sheet->fromArray([$header], null, 'A1');

    // Insert data rows
    $row = 2;
    while ($data = mysqli_fetch_array($result)) 
        $sheet->setCellValue('A' . $row, $data['name']);
        $sheet->setCellValue('B' . $row, $data['address']);
        $sheet->setCellValue('C' . $row, $data['city']);
        $row++;
    

    // Save the Excel file
    $writer = new Xlsx($spreadsheet);
    $writer->save('data.xlsx');

    echo "Excel file successfully created";
?>

Hasil

CARA EXPORT DATA KE EXCEL DENGAN NAVICAT

Cara Export Data dari Database ke dalam Excel Menggunakan Zahir

Untuk mengekspor data dari Zahir ke dalam format Excel, Zahir sendiri sudah menyediakan fitur export data. Namun, apabila kita ingin mengubah format standar yang disediakan oleh Zahir, kita bisa menggunakan beberapa library PHP seperti PhpSpreadsheet atau PHPExcel. Berikut langkahnya:

  1. Pertama, kita buat file index.php di dalam folder zahir. Kemudian, memuat file zahir.php, serta PhpSpreadsheet di dalam file index.php untuk mengakses library tersebut.
  2. Selanjutnya, kita buat database baru di MySQL untuk menyimpan data yang ingin di-export ke dalam excel. Dalam tutorial ini, saya akan menggunakan tabel mahasiswa dengan kolom nama, alamat, dan kota.
  3. Kemudian, pada folder zahir yang berisi file zahir.php, membuat dua file baru dengan nama excel.php dan export.php.
  4. file excel.php berfungsi untuk memproses file export yang dilakukan oleh user, sedangkan file export.php berguna untuk meng-export data dari database yang akan dijadikan file Excel.
  5. Pada file excel.php, kita gunakan PhpSpreadsheet untuk mengubah data dari database menjadi file Excel. Kita mulai dengan membuat class baru bernama ExcelWriter, kemudian melakukan query ke database MySQL untuk mengambil data yang akan di-export. Hasil query tersebut kemudian dimasukkan ke dalam spreadsheet menggunakan perulangan.
  6. Selanjutnya, kita simpan Excel tersebut dengan nama file yang disimpan pada folder output.

Kode PHP

dbh = new PDO("mysql:host=localhost;dbname=zahirdb", "root", "");
        $this->path = $path;
    

    public function write() 
        $spreadsheet = new Spreadsheet();
        $sheet = $spreadsheet->getActiveSheet();
        $sql = "SELECT name, address, city FROM mahasiswa";
        $result = $this->dbh->prepare($sql);
        $result->execute();
        $i=1;
        while ($row = $result->fetch(PDO::FETCH_ASSOC)) 
            $sheet->setCellValue('A'.$i, $row['name']);
            $sheet->setCellValue('B'.$i, $row['address']);
            $sheet->setCellValue('C'.$i, $row['city']);
            $i++;
        
        $writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
        $writer->save($this->path);
    

    public function getPath() 
        return $this->path;
    


$outputName = 'export_data.xlsx';
$outputPath = 'output/'.$outputName;

$e = new ExcelWriter($outputPath);
$e->write();

echo 'File created at "'.$outputPath.'"';
?>

Hasil

hasil export data zahir ke excel menggunakan phpspreadsheet

Cara Merubah CSV ke Excel dan Menampilkan Tampilan Kolom data secara terpisah

Kadangkala kita akan menemukan data di dalam format CSV dan kita harus mengkonversinya ke dalam format Excel. Dalam beberapa kasus kita harus memisahkan data di setiap kolom agar lebih mudah dibaca dan dipahami. Berikut adalah cara untuk eksport data dalam format CSV ke dalam format Excel dan memisah data pada setiap kolomnya:

  1. Pertama, kita buat file php dengan nama “csv_to_excel.php” yang berfungsi untuk membaca data dari satu file CSV, memecahnya menjadi beberapa kolom data, dan menyimpan dalam format file excel.
  2. Masukkan kode PhpSpreadsheet untuk membuat objek Spreadsheet dan worksheet.
  3. Buka file csv menggunakan php built-in function fopen dan baca data pada file dengan fungsi fgetcsv.
  4. Masukkan data pada file excel dengan fungsi setCellValue yang merupakan method dari objek worksheet.
  5. Selanjutnya kita akan memisahkan data pada setiap kolom. Ini bisa dilakukan dengan menggunakan fungsi explode dan loop for.
  6. Akhirnya, kita simpan file excel ke dalam direktori tertentu dengan menggunakan writer IOFactory.
  7. Berikut kode lengkapnya:

    Kode PHP

    setDelimiter(',');
    $spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
    $worksheet = $spreadsheet->getActiveSheet();
    
    $file = 'data.csv';
    if (!file_exists($file)) 
        exit('Unable to locate file: '.$file);
    
    
    $inFile = fopen($file, 'r');
    $row = 1;
    while (($data = fgetcsv($inFile)) !== FALSE) 
        $col = 1;
        foreach ($data as $element) 
            $rowData = explode(';',$element);
    
            foreach($rowData as $key=>$value) 
                $worksheet->setCellValueByColumnAndRow($col, $row+$key, $value);
            
            $col++;
        
        $row+= max(array_map('count', $rowData));
    
    
    fclose($inFile);
    
    // Save to Excel
    $writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
    $writer->save('data_excel.xlsx');
    echo 'File created successfully';
    ?>
    

    Hasil

    hasil export data dari csv ke excel secara terpisah

    Cara Export Data dari Database Menggunakan PHP

    Jika kita tidak ingin menggunakan library pihak ketiga seperti PhpSpreadsheet atau Zahir, kita bisa membuat kode eksport data Excel secara manual menggunakan library PHP bawaan. Berikut adalah langkah-langkahnya:

    1. Pertama, kita menghubungkan file php ke dalam database MySQL. Selanjutnya, kita membuat query select untuk mengambil data dari database.
    2. Lalu, kita buat file Excel dengan menggunakan header Excel, kemudian meneteskan data dari hasil query select tadi menjadi format yang compatible dengan Excel.
    3. Setelah itu, kita simpan file yang kita buat ke dalam output direktori.

    Kode PHP

    
    

    Hasil

    hasil export database ke excel dengan php dan mysqli coding php - mobile

    FAQ

    Bagaimana cara mengunduh dan menginstal library PhpSpreadsheet?

    Unduh file .zip atau .tar.gz dari situs resmi PhpSpreadsheet, ekstrak ke dalam folder projek dengan nama Vendor, dan selanjutnya bisa diintegrasikan secara manual atau melalui composer.

    Apakah fitur eksport data sudah tersedia pada aplikasi Zahir?

    Ya, Zahir sudah menyediakan fitur eksport data ke dalam format Excel. Namun, jika kita ingin mengubah format standar yang disediakan oleh Zahir, kita bisa menggunakan beberapa library PHP seperti PhpSpreadsheet atau PHPExcel.

    Apakah ada library PHP bawaan yang bisa digunakan untuk membuat file Excel?

    Ya, pada PHP versi terbaru bisa digunakan library phpSpreadsheet sebagai salah satu alternatif untuk membuat file Excel secara manual.

    Bagaimana cara mengubah format file CSV ke dalam format Excel?

    Kita bisa membaca file CSV menggunakan php built-in function fopen dan baca data pada file dengan fungsi fgetcsv. Selanjutnya kita bisa menyimpan data tersebut pada file Excel menggunakan perintah fputcsv.

    Berapa minimum memori yang dibutuhkan untuk menggunakan library PhpSpreadsheet?

    PhpSpreadsheet membutuhkan memori sekitar 15MB untuk meng-export 5.000 baris data dalam satu file Excel.

    Video Tutorial

    Penutup

    Semoga dengan tutorial ini bisa membantu Anda untuk lebih mudah dalam meng-export data dari database ke dalam file Excel dan memisahkan data pada setiap kolomnya. Ada beberapa cara yang bisa kita gunakan untuk melakukan eksport data dengan menggunakan library php bawaan, PhpSpreadsheet, Zahir, maupun PHPExcel. Kita bisa memilih salah satu yang paling sesuai dengan kebutuhan kami.