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
- Kita membuat database siswa yang berisi tabel dan kolom yang kita atur untuk menyimpan data siswa
- kita buat file excel yang berisi data siswa, dimana data tersebut sesuai dengan kolom yang ada di tabel database siswa
- kami akan membuat form upload
- 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
selanjutnya kita buat tabel dengan nama tb_siswa, dengan kolom berikut
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
- form_upload. html
- koneksi. php
- proses. php
jadi tampilannya kurang lebih seperti ini
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
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
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
Formulir Unggah Unggul
File Unggah
="form-control" id="exampleInputFile">
Impor>
Untuk menampilkan formulir, Anda dapat mengakses alamat. localhost/importexcel/form_upload. html
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