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 Show 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
baiklah langsung saja kita mulai prosesnya
Menyiapkan database siswaKita 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
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 proyekSelanjutnya 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
jadi tampilannya kurang lebih seperti ini Nah, anggap saja teman Anda sudah membuat folder proyek, dan itu sudah berisi file
Instal pustaka phpspreadsheet melalui komposerUntuk 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 DatabaseKita 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
Buat Formulir UnggahSilahkan 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 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 unggahanSilahkan 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 ExcelUntuk menguji proses upload file excel, langkah-langkahnya adalah sebagai berikut 1. Silakan akses alamatnya. localhost/importexcel/form_upload. html
2. Buat file excel, dengan format berikut 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
Penjelasan File Proses. phpSetelah 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 BelajarUntuk 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 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 |