Cara menggunakan import excel php

Selamat datang di lapak belajar, melanjutkan pembahasan rangkaian tutorial PHP, part 54 kita akan belajar cara import data dari file excel ke database mysql dengan php menggunakan library phpspreadsheet

Cara ini bisa anda gunakan untuk import data yang ada di file excel, agar bisa dimasukan ke dalam database mysql, disini kita masih menggunakan library phpspreadsheet karena library ini sangat powerfull baik untuk membuat maupun membaca file excel

Tutorial cara membuat file excel menggunakan phpspreadsheet bisa anda cek pada tutorial kami sebelumnya. Cara membuat laporan excel di php menggunakan phpspreadsheet

Kali ini kita akan memanfaatkan fitur lain yang disediakan oleh phpspreadsheet, yaitu untuk membaca file excel

Ilustrasi yang baik tentang proses impor data dari excel ke database mysql adalah sebagai berikut

  1. Kita membuat database siswa yang berisi tabel dan kolom yang kita atur untuk menyimpan data siswa
  2. kita buat file excel yang berisi data siswa, dimana data tersebut sesuai dengan kolom yang ada di tabel database siswa
  3. kami akan membuat form upload
  4. ketika file excel di upload maka data di file excel tersebut otomatis akan tersimpan di database siswa

baiklah langsung saja kita mulai prosesnya

 

Menyiapkan database siswa

Kita akan membuat database siswa, misal kita buat dengan nama db_siswa , kita akan menggunakan phpmyadmin, karena pada contoh ini kita gunakan xampp, untuk tutorial install xampp bisa lihat tutorial kami sebelumnya. cara menginstal xampp

Nah, anggap saja sobat sudah punya xampp, dan bisa mengakses phpmyadmin

buat database dengan nama db_siswa, lalu klik tombol create

Cara menggunakan import excel php

 

selanjutnya kita buat tabel dengan nama tb_siswa, dengan kolom berikut

Cara menggunakan import excel php

Keterangan

  • id_siswa = sebagai primary key, dan auto increment
  • nama = varchar 255
  • kelas = varchar 255
  • alamat = varchar 255

Selanjutnya silahkan klik tombol Simpan

 

Atau teman-teman bisa menggunakan perintah SQL di bawah ini, untuk membuat database db_siswa, dan tabel tb_siswa

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

-- phpMyAdmin SQL Buang

-- versi 4. 8. 4

-- https. //www. phpmyadmin. bersih/

--

-- Host. 127. 0. 0. 1

-- Waktu membuat. 06 Jul 2019 pada 01. 07

-- Versi server. 10. 1. 37-MariaDB

-- Versi PHP. 7. 3. 0

 

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";

SET AUTOCOMMIT = 0;

MULAI TRANSAKSI;

ATUR zona_waktu = "+00. 00";

 

 

/*. 40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*. 40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

/*. 40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

/*. 40101 SET NAMA utf8mb4 */;

 

--

-- Database. `db_siswa`

--

BUAT DATABASE JIKA TIDAK ADA `db_siswa` DEFAULT KARAKTER ATUR latin1 KUMPULKAN latin1_swedish_ci;

GUNAKAN `db_siswa`;

 

-- ------- ------------------- ------------------< /a>------------

 

--

-- Struktur dari tabel `tb_siswa`

--

 

BUAT TABEL `tb_siswa` (

  `student_id` int(11) TIDAK NULL,

  `nama` varchar(255) TIDAK NULL,

  `kelas` varchar(10) TIDAK NULL,

  `alamat` varchar(255) TIDAK NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 

--

-- Indeks untuk dibuang tabel

--

 

--

-- Indeks untuk tabel `tb_siswa`

--

UBAH TABEL `tb_siswa`

  TAMBAHKAN UTAMA KUNCI (`student_id`);

 

--

-- AUTO_INCREMENT untuk tabel yang dibuang

--

 

--

-- AUTO_INCREMENT untuk tabel `tb_siswa`

--

UBAH TABEL `tb_siswa`

  MODIFY `student_id` int(11) TIDAK NULL AUTO_INCREMENT;

KOMIT;

 

/*. 40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

/*. 40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;

/*. 40101 ATUR COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Nah, misalkan teman kita sudah memiliki database siswa, seperti pada contoh di atas, kita lanjut ke langkah selanjutnya

 

Buat folder proyek

Selanjutnya kita akan membuat folder project, karena pada contoh ini kita menggunakan xampp, jadi project kita simpan di C. /xampp/htdocs

dalam contoh ini nama folder proyek adalah importexcel

selanjutnya didalamnya kita buat 3 file antara lain

  1. form_upload. html
  2. koneksi. php
  3. proses. php

jadi tampilannya kurang lebih seperti ini

Cara menggunakan import excel php

Nah, anggap saja teman Anda sudah membuat folder proyek, dan itu sudah berisi file

 

Instal pustaka phpspreadsheet melalui komposer

Untuk menginstal phpspreadsheet kita akan menggunakan composer, jadi pastikan anda sudah menginstal composer, jika anda belum menginstal composer silahkan install terlebih dahulu, untuk tutorial instalasi composer bisa anda lihat disini. Cara menggunakan Komposer untuk proyek PHP

Nah anggap saja sobat sudah install composer silahkan buka terminal/command prompt lalu silahkan akses folder project dalam hal ini di C. /xampp/htdocs/importexcel

kemudian tulis perintah berikut

1

komposer memerlukan phpoffice/phpspreadsheet

Cara menggunakan import excel php

Pastikan komputer yang Anda gunakan terhubung ke internet, lalu tekan tombol enter

Silahkan tunggu hingga proses instalasi library phpspreadsheet selesai

 

Membuat Koneksi ke Database

Kita asumsikan sobat sudah install library phpspreadsheet di folder project (importexcel), langkah selanjutnya buka file connection. php di folder project, lalu isikan kode di bawah ini

1

2

3

4

5

6

7

$host       = "localhost";

$user       = "root";

$password   = "";

$database   = "db_siswa";

$connection    = mysqli_connect($host, $pengguna, $sandi< /a>, $database);

?>

Keterangan

  • Perintah diatas digunakan untuk melakukan koneksi ke database db_siswa yang telah kita buat sebelumnya
  • $host dengan nilai "localhost" yang merupakan alamat dari database server
  • $user dengan nilai "root" yang merupakan pengguna dari database
  • $password dengan nilai "" yang merupakan kata sandi untuk mengakses database, nilainya kosong karena default dari xampp untuk kata sandi pengguna root kosong
  • $database dengan value "db_siswa" yang merupakan nama database yang telah kita buat sebelumnya
  • Baris 6 adalah perintah untuk melakukan koneksi ke database, dan hasilnya disimpan dalam variabel $connection

 

Buat Formulir Unggah

Silahkan buka file form_upload. html, lalu isikan kode seperti di bawah ini

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<. DOCTYPE html>

<html>

<kepala>

<judul></judul>

</kepala>

<tubuh>

<kumpulan bidang>

<legenda>Formulir Unggah Unggul</legenda>

<bentuk metode="postingan" enctype="multipart/form-data" action="proses. php">

    <div kelas="form-group">

        <label untuk="exampleInputFile">File Unggah</label>

        <masukkan ketik="file" nama="file_excel" kelas< /a>="form-control" id="exampleInputFile">

    </div>

    <tombol ketik="submit" kelas="btn btn-primer">Impor</tombol>>

</bentuk>

</kumpulan bidang>

</tubuh>

</html>

Untuk menampilkan formulir, Anda dapat mengakses alamat. localhost/importexcel/form_upload. html

Cara menggunakan import excel php

Keterangan

Pada form kita membuat input file type dengan nama excel_file

Pada form atribut kita menggunakan method=”post”, enctype=”multipart/form-data”, dan action=”process. php"

Jadi dapat disimpulkan bahwa ketika tombol import diklik maka form input akan diproses di file process. php menggunakan metode posting

 

Buat pemrosesan formulir unggahan

Silahkan buka file proses. php di folder project, lalu isi dengan kode di bawah ini

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

sertakan('koneksi. php');

memerlukan 'vendor/pemuatan otomatis. php';

gunakan PhpOffice\PhpSpreadsheet\Spreadsheet;

gunakan PhpOffice\PhpSpreadsheet\Pembaca\Csv;

gunakan PhpOffice\PhpSpreadsheet\Pembaca\Xlsx;

$file_mimes = array('application/octet -stream', 'application/vnd. ms-excel', 'application/x-csv', ' text/x-csv', 'text/csv', ' aplikasi/csv', 'aplikasi/excel', 'aplikasi/ vnd. msexcel', 'application/vnd. openxmlformats-officedocument. spreadsheetml. sheet');

jika(disetel($_FILES['excel_file']['nama ']) && in_array ($_FILES['excel_file']['type'], $file_mimes)) {

    $arr_file = meledak('.', $_FILES['excel_file']['nama']);

    $ekstensi = end($arr_file);

    jika('csv' == $ekstensi) {

        $reader = baru \PhpOffice\PhpSpreadsheet\Pembaca\Csv();

    } lain {

        $reader = baru \PhpOffice\PhpSpreadsheet\Pembaca\Xlsx();

    }

    $spreadsheet = $reader->memuat($_FILES['excel_file ']['tmp_name']);

    

    $sheetData = $spreadsheet->getActiveSheet()->toArray< /a>();

untuk($i = 1;$i < menghitung($sheetData);$i+ +)

{

        $nama = $sheetData[$i]['1'] ;

        $class = $sheetData[$i]['2'] ;

        $address = $sheetData[$i]['3'] ;

        mysqli_query($connection,"masukkan ke tb_siswa (student_id,name,class,address) values ​​​​('','$name','$class','$address')" )< /a>;

    }

    tajuk("Lokasi. form_upload. html");

}

?>

Baiklah kita coba dulu menggunakan perintah diatas, selanjutnya kita akan membahas apa fungsi dari kode php pada file proses tersebut. php

 

Mencoba Proses Pengunggahan Excel

Untuk menguji proses upload file excel, langkah-langkahnya adalah sebagai berikut

1. Silakan akses alamatnya. localhost/importexcel/form_upload. html

Cara menggunakan import excel php

 

2. Buat file excel, dengan format berikut

Cara menggunakan import excel php

misalnya kita simpan dengan nama data_siswa. xlsx

 

3. Selanjutnya silahkan upload file excel pada form upload, lalu klik tombol import

4. Kemudian lihat di database db_siswa, di tabel tb_siswa, nanti akan ada data siswa sesuai dengan yang kita tulis di tabel excel yang kita upload

Cara menggunakan import excel php

 

 

Penjelasan File Proses. php

Setelah kita berhasil mengimpor file excel ke dalam database, selanjutnya kita akan membahas perintah-perintah yang ada di dalam file proses. php, penjelasannya adalah sebagai berikut

1

sertakan('koneksi. php');

Baris 2 kami sertakan file koneksi. php untuk dapat terhubung ke database

 

1

memerlukan 'vendor/pemuatan otomatis. php';

Baris 3 membutuhkan file autoload di folder vendor, agar bisa menggunakan library yang sudah kita download tadi

 

1

2

3

gunakan PhpOffice\PhpSpreadsheet\Spreadsheet;

gunakan PhpOffice\PhpSpreadsheet\Pembaca\Csv;

gunakan PhpOffice\PhpSpreadsheet\Pembaca\Xlsx;

Baris 5 - 7 kita menggunakan namespace untuk dapat mengakses class-class yang ada di library phpspreadsheet

 

1

$file_mimes = array('application/octet-stream', 'application/vnd. ms-excel', 'application/x-csv', ' teks/x-csv', 'teks/csv', ' aplikasi/csv', 'aplikasi/excel', 'aplikasi/ vnd. msexcel', 'application/vnd. openxmlformats-officedocument. spreadsheetml. sheet');

Baris 9 kita tuliskan beberapa format file excel, yang nantinya akan digunakan sebagai validasi format file yang didukung, sebelum dilakukan proses import data ke database

 

1

jika(disetel($_FILES['excel_file']['nama']) && in_array ($_FILES[' excel_file']['type'], $file_mimes)) {

Baris 11 kode memeriksa apakah memang ada file yang kita pilih saat proses impor dilakukan, serta format tipe file sesuai dengan yang kita tentukan di array $file_mimes

 

1

2

$arr_file = meledak('.', $_FILES[ 'excel_file']['nama']);

    $ekstensi = end($arr_file);

Baris 13 - 14 kita melakukan burst pada nama file excel tersebut, untuk mengetahui extension dari file yang kita pilih

 

1

2

3

4

5

jika('csv' == $< /a>ekstensi) {

        $pembaca = baru \PhpOffice\PhpSpreadsheet\Reader\Csv();

    } lain {

        $pembaca = baru \PhpOffice\PhpSpreadsheet\Reader\Xlsx();

    }

Baris 16 kita cek apakah ekstensi filenya adalah csv maka objek akan dibuat dengan class reader csv (baris 17), tapi jika tidak objek dibuat dengan class reader xlsx (baris 19), setelah saya coba perintah ini hanya mendukung format Xlsx, dan csv

 

1

$spreadsheet = $pembaca->memuat($_FILES['excel_file']['tmp_name ']);

Baris 22 kita load file excel yang kita upload dan simpan di variabel $spreadsheet

 

1

$sheetData = $spreadsheet->getActiveSheet()->toArray();

Baris 24 kita buat variabel $sheetData yang digunakan untuk menyimpan array, hasil konversi isi dari file excel, menjadi array

 

1

untuk($i = 1;$i < menghitung($sheetData);$i++)

Baris 25 kita ulangi menggunakan for, perhatikan variabel awal $i kita tulis angka 1, hal tersebut dikarenakan data pada file excel yang kita upload isi datanya dimulai dari baris 2, lalu kenapa variabel $i ada nilai 0 bukannya 2?

Hal ini dikarenakan index array hasil konversi file excel dimulai dari index sampai 0, sehingga baris 2 akan dihitung sebagai index 1

 

1

$nama = $sheetData[$i]['1'];

Baris 27 kita buat variabel $name untuk menyimpan data di kolom name, disitu kita tulis index ke 1, karena part name ada di kolom ke 2, ingat array indeks dimulai dari angka 0 bukan 1

 

1

$kelas = $sheetData[$i]['2'];

Baris 28 kita buat variabel $class untuk menyimpan data di kolom class, disitu kita tulis index ke 2, karena part name ada di kolom ke 3

 

1

$alamat = $sheetData[$i]['3'];

Baris 29 kita buat variabel $address untuk menyimpan data di kolom address, disitu kita tulis index ke 3, karena part name ada di kolom ke 4

 

1

mysqli_query($koneksi,"masukkan ke tb_siswa (student_id,name,class,address) values ​​​​('','$name','$class','$address')" )< /a>;

Baris 30 kita menulis query untuk memasukkan data ke tabel tb_siswa dengan nilai variabel $name, $class, dan $address

 

1

tajuk("Lokasi. form_upload. html");

Baris 32 setelah proses pengulangan selesai, kita akan redirect kembali ke halaman form_upload. html

 

File Hasil Belajar

Untuk File Hasil Studi dapat diunduh

Kode Sumber Mengimpor data dari excel ke Database MySQL

 

Nah kurang lebih itu pembahasannya sob dari rangkaian tutorial kali ini kita sudah membahas cara membuat fitur Import data Excel ke Database MySQL dengan PHP menggunakan PhpSpreadSheet, jika ada yang ingin didiskusikan silahkan tinggalkan komentar.

 


ANDA INGIN SERIUS BELAJAR PEMROGRAMAN PHP?

Seperti yang anda ketahui bahwa saat ini skill dalam bidang pemrograman sangat dibutuhkan, salah satunya adalah pemrograman PHP
Bagi Anda yang ingin serius belajar pemrograman PHP, Warung Belajar memiliki beberapa Paket Tutorial yang dapat membantu Anda dalam mempelajari Pemrograman PHP, mulai dari langkah dasar hingga dapat membuat aplikasi berbasis web menggunakan PHP

Paket tutorial ini berisi video tutorial belajar pemrograman dalam bahasa indonesia, cocok sekali untuk anda yang sedang belajar pemrograman php, bahkan untuk umum sekalipun

Paket Tutorial ini juga dilengkapi dengan studi kasus yang akan mempermudah pemahaman Anda dalam mempelajari pemrograman, Ayo berinvestasi untuk meningkatkan kemampuan Anda dalam menguasai Pemrograman PHP