Sudah lama sekali saya tidak mengupdate postingan, pada kesempatan kali ini. Saya akan coba share postingan/tutorial yang semoga bermanfaat yaitu Cara Import Data Dari Excel menggunakan Framework Codeigniter 3, library PHPExcel (berguna untuk membantu kita membaca isi file excel yang akan di import datanya) , dan Database MySQL PENTING, HARAP BACA TERLEBIH DAHULU Berikut fitur-fitur yang akan kami buat
DEMO LANGKAH 1 – PERSIAPAN
LANGKAH 2 – DATABASE
LANGKAH 3 – KONFIGURASI Baca Juga
LANGKAH 4 – MEMBUAT MODEL <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class SiswaModel extends CI_Model { public function view(){ return $this->db->get('siswa')->result(); // Tampilkan semua data yang ada di tabel siswa } // Fungsi untuk melakukan proses upload file public function upload_file($filename){ $this->load->library('upload'); // Load librari upload $config['upload_path'] = './excel/'; $config['allowed_types'] = 'xlsx'; $config['max_size'] = '2048'; $config['overwrite'] = true; $config['file_name'] = $filename; $this->upload->initialize($config); // Load konfigurasi uploadnya if($this->upload->do_upload('file')){ // Lakukan upload dan Cek jika proses upload berhasil // Jika berhasil : $return = array('result' => 'success', 'file' => $this->upload->data(), 'error' => ''); return $return; }else{ // Jika gagal : $return = array('result' => 'failed', 'file' => '', 'error' => $this->upload->display_errors()); return $return; } } // Buat sebuah fungsi untuk melakukan insert lebih dari 1 data public function insert_multiple($data){ $this->db->insert_batch('siswa', $data); } }_ Pada kode di atas, kita membuat fungsi view(). di mana ada kode pengembalian $this->db->get('student')->result() . Kode berfungsi untuk menampilkan semua data pada tabel siswa . Struktur dasar tulisannya seperti ini. return $this->db->get(' table_name ')->result() . Kemudian pada kode diatas juga terdapat kode return , kode tersebut digunakan untuk menampilkan hasil dari suatu fungsi. Pada kasus di atas, hasil yang dihasilkan oleh return adalah data siswa. Kemudian ada fungsi upload_file($filename) , fungsi ini berfungsi untuk mengupload file excel yang akan di import data. Ada beberapa konfigurasi dalam unggahan tersebut, antara lain.
$ini->upload->data() Array ( [file_name] => mypic.jpg [file_type] => image/jpeg [file_path] => /path/to/your/upload/ [full_path] => /path/to/your/upload/jpg.jpg [raw_name] => mypic [orig_name] => mypic.jpg [client_name] => mypic.jpg [file_ext] => .jpg [file_size] => 22.2 [is_image] => 1 [image_width] => 800 [image_height] => 600 [image_type] => jpeg [image_size_str] => width="800" height="200" ) $ini->upload->display_errors() $this->db->insert_batch('siswa', $data);
Untuk detail lebih lanjut tentang insert_batch, silakan lihat dokumentasinya secara langsung. LANGKAH 5 - MEMBUAT CONTROLLER $config['base_url'] = 'http://localhost/import_excel_ci/';_1 Saya akan menjelaskan sedikit tentang kode di atas $excelreader = new PHPExcel_Reader_Excel2007(); array_push($data, [ $config['base_url'] = 'http://localhost/import_excel_ci/';_2 LANGKAH 6 – LIHAT $config['base_url'] = 'http://localhost/import_excel_ci/';_3 Pada kode diatas terdapat kode foreach($siswa as $data){ , kode tersebut akan menampilkan data siswa satu per satu satu sampai data siswa yang terakhir. LANGKAH 7 – BENTUK $config['base_url'] = 'http://localhost/import_excel_ci/';_4 Saya tidak akan menjelaskan script diatas, karena sudah saya jelaskan masing-masing script (dengan komentar). Namun saya akan menjelaskan alur dari form impor diatas. Pertama, pengguna harus mengunduh Format File Excel yang telah kita buat sebelumnya. Kedua, user mengisikan data yang akan di import pada file excel yang sudah di download tadi. Ketiga, pengguna memilih file excel yang datanya akan diimpor kemudian mengklik tombol pratinjau. Keempat, Saat pengguna mengklik tombol pratinjau, sistem akan tampil
Mungkin itu saja untuk postingan kali ini. Semoga bisa bermanfaat. Jika ada yang tidak dimengerti, tanyakan langsung pada form komentar di bawah. Jangan lupa LIKE dan SHARE ya, terima kasih banyak |