0% menganggap dokumen ini bermanfaat (0 suara)
12 tayangan12 halaman

Import Dari Excel Ke Database Menggunakan CodeIgniter H4nk Blogs

Diunggah oleh

abdulrf
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
12 tayangan12 halaman

Import Dari Excel Ke Database Menggunakan CodeIgniter H4nk Blogs

Diunggah oleh

abdulrf
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 12

Import Dari Excel Ke Database Menggunakan CodeIgniter ~ H4nk Blogs http://h4nk.blogspot.co.id/2014/06/import-dari-excel-ke-database.

html

IMPORT DARI EXCEL KE DATABASE MENGGUNAKAN CODEIGNITER

 Harry Hank  12.54

Selamat datang lagi pada blog saya kali ini. Pada artikel kali ini saya akan menjelaskan bagaimana cara Import dari Excel ke Database
Menggunakan CodeIgniter ? sebelumnya saya mempunyai struktur data pada database sebagai berikut :

terdapat 9 data yang akan di proses kedalam database. dikarenakan id_siswa adalah Key jadi pada database tidak kita proses.

1 of 12 4/1/2016 5:48 PM
Import Dari Excel Ke Database Menggunakan CodeIgniter ~ H4nk Blogs http://h4nk.blogspot.co.id/2014/06/import-dari-excel-ke-database.html

Sebelumnya buat sebuah file Excel

untuk mempermudah sesuaikan urutan pada database dengan excel. karena id_siswa adalah bersifat AUTO INCREMENT jadi pada excel
tidak kita tampilkan.
pada kali ini saya menggunakan lib excel_reader dapat di download disini : DOWNLOAD
simpan Lib tersebut pada folder application\libraries
Buat sebuah function pada controller terserah mau anda kasih nama apa, di sini saya memberikan nama excel. Function ini berfungsi untuk
load views uploadnya saja

 $this->load->view('siswa/excel'); 

pada tampilan view excel buat sebuah file untuk uploadnya

 <?php echo form_open_multipart('siswa/do_upload');?>


<input type="file" id="file_upload" name="userfile" size="20" />
<br />
<input type="submit" value="Upload" />
<?php echo form_close();?> 

siswa/do_upload <<== berikan berdasarkan Controller uploadnya.


untuk proses uploadnya buat sebuah function pada controller terserah anda mau kasih nama apa, disni saya memberikan nama do_upload
function ini yang akan di tuju saat proses upload di atas , nama function harus sama :D
pada function do_upload tadi akan saya jelas step demi step sintax yang akan kita gunakan.

2 of 12 4/1/2016 5:48 PM
Import Dari Excel Ke Database Menggunakan CodeIgniter ~ H4nk Blogs http://h4nk.blogspot.co.id/2014/06/import-dari-excel-ke-database.html

pertam kita harus membuat temp untuk uploadnya, terserah mau anda kasih nama folder apa untuk temp ini , di sini saya akan memberikan
nama temp_upload. untuk hal tersebut buat sebuah sintax nya seperti berikut, untuk memperkenalkan tempat temp upload tadi.

 $config['upload_path'] = './temp_upload/'; 

jika sudah kita harus memperkenalkan extensi file yang di izinkan untuk di proses, untuk itu kita membuatkan sintax berikut untuk
memperkenalkan/meizinkan extensi file

 $config['allowed_types'] = 'xls'; 

untuk configurasi ini sudah selesai, saatnya kita akan melakukan load library upload dan kita sinkronkan dengan config di atas sehingga
menjadi seperti ini.

 $this->load->library('upload', $config); 

kita harus filter atau memberikan sebuah logic jika suatu saat terjadi error saat upload file.
jika kebenarannya kita akan menampilkan display_errornya
oleh karena itu jika exekusi $this->upload->do_upload() tidak benar makan tampilkan pesan kesalahannya, untuk codingnya dapat dilihat di
bawah ini :

 if ( ! $this->upload->do_upload())
{
$data = array('error' => $this->upload->display_errors());
} 

untuk nilai tidak benar alias jika salah maka kita membuatkan logic barunya :

3 of 12 4/1/2016 5:48 PM
Import Dari Excel Ke Database Menggunakan CodeIgniter ~ H4nk Blogs http://h4nk.blogspot.co.id/2014/06/import-dari-excel-ke-database.html

 else
{
$data = array('error' => false);
$upload_data = $this->upload->data(); 

pada logic ini exekusi programnya akan di lakukan, terlebih dahulu kita harus load library excel_reader tadi

 $this->load->library('excel_reader'); 

untuk mengenal apa itu excel_reader dapat dilihat disini :

 https://code.google.com/p/php-excel-reader/wiki/Documentation 

untuk coding selanjutnya adalah upload_data kita menggunakan full_path

 $file = $upload_data['full_path']; 

jika sudah kita akan membaca file excel yang sudah kita upload tadi

 $this->excel_reader->read($file); 

kalau file excel sudah terbaca oleh excel_reader maka kita akan set nilai2 yang ada pada excel tadi dimulai dari sheets yang berapa atau kita
ambil sheets berapa.

4 of 12 4/1/2016 5:48 PM
Import Dari Excel Ke Database Menggunakan CodeIgniter ~ H4nk Blogs http://h4nk.blogspot.co.id/2014/06/import-dari-excel-ke-database.html

 $data = $this->excel_reader->sheets[0] ; 

jika sampai disini sudah oke kita akan memasukan nilai data yang ada didalam excel tadi kedalam array

 $dataexcel = Array(); 

karena tadi data ada 10 jadikita harus membuat sebuah looping

 for ($i = 1; $i <= $data['numRows']; $i++) {


if($data['cells'][$i][1] == '') break;
$dataexcel[$i-1]['nis'] = $data['cells'][$i][1];
$dataexcel[$i-1]['nama'] = $data['cells'][$i][2];
$dataexcel[$i-1]['alamat'] = $data['cells'][$i][3];
$dataexcel[$i-1]['kelas'] = $data['cells'][$i][4];
$dataexcel[$i-1]['wali'] = $data['cells'][$i][5];
$dataexcel[$i-1]['alamat_wali'] = $data['cells'][$i][6];
$dataexcel[$i-1]['telp_wali'] = $data['cells'][$i][7];
$dataexcel[$i-1]['pekerjaan'] = $data['cells'][$i][8];
} 

jika semua looping sudah tersimpan didalam arrya maka data excel yang sudah diupload tadi akan kita hapus menggunakan perintah berikut

 delete_files($upload_data['file_path']); 

sampai disini proses pengambilan data dari excel sudah selesai, sisa kita memasukannya kedalam database, disini saya membuat sebuah
module nya dengan nama Excel_model
buat sebuah function didalam module tersebut

5 of 12 4/1/2016 5:48 PM
Import Dari Excel Ke Database Menggunakan CodeIgniter ~ H4nk Blogs http://h4nk.blogspot.co.id/2014/06/import-dari-excel-ke-database.html

 function tambahsiswa($dataarray)
{
for($i=0;$i<count($dataarray);$i++){
$data = array(
'nis'=>$dataarray[$i]['nis'],
'nama'=>$dataarray[$i]['nama'],
'alamat'=>$dataarray[$i]['alamat'],
'kelas'=>$dataarray[$i]['kelas'],
'wali'=>$dataarray[$i]['wali'],
'alamat_wali'=>$dataarray[$i]['alamat_wali'],
'telp_wali'=>$dataarray[$i]['telp_wali'],
'pekerjaan'=>$dataarray[$i]['pekerjaan']
);
$this->db->insert('siswa', $data);
}
} 

function ini yang akan melakukan proses penyimpanan kedalam database, yang mana data akan kita lakukan normalisasi data sehingga dapat
sinkron dengan database supaya tidak terjadi kesalahan saat insert data ke dalam database.
jika sudah buat modul kita akan kembali ke controller tadi
pada baris setelah coding diatas kita akan melakukan proses inputan menggunakan modul di atas. karena dari tadi kita tidak ada melakukan
load modul makan kita harus load terlebih dahulu modulnya.

 $this->load->model('Excel_model');
$this->Excel_model->tambahsiswa($dataexcel); 

Jika sudah kita akan menutup exekusi logic kesalahan tersebut lalu melakukan rendirect halaman

6 of 12 4/1/2016 5:48 PM
Import Dari Excel Ke Database Menggunakan CodeIgniter ~ H4nk Blogs http://h4nk.blogspot.co.id/2014/06/import-dari-excel-ke-database.html

 header('location:'.base_url().'siswa'); 

Untuk coding lengkap untuk controller adalah :

 public function excel()


{
if($this->session->userdata('logged_in')!="" && $this->session->userdata('stts')=="administrator")
{
$this->load->view('templat/header');
$this->load->view('siswa/excel');
$this->load->view('templat/footer');
}
else
{
header('location:'.base_url().'');
}
}
public function do_upload()
{
if($this->session->userdata('logged_in')!="" && $this->session->userdata('stts')=="administrator")
{
$config['upload_path'] = './temp_upload/';
$config['allowed_types'] = 'xls';

$this->load->library('upload', $config);

if ( ! $this->upload->do_upload())
{
$data = array('error' => $this->upload->display_errors());

7 of 12 4/1/2016 5:48 PM
Import Dari Excel Ke Database Menggunakan CodeIgniter ~ H4nk Blogs http://h4nk.blogspot.co.id/2014/06/import-dari-excel-ke-database.html

}
else
{
$data = array('error' => false);
$upload_data = $this->upload->data();
$this->load->library('excel_reader');
$this->excel_reader->setOutputEncoding('230787');
$file = $upload_data['full_path'];
$this->excel_reader->read($file);
error_reporting(E_ALL ^ E_NOTICE);
// Sheet 1
$data = $this->excel_reader->sheets[0] ;
$dataexcel = Array();
for ($i = 1; $i <= $data['numRows']; $i++) {
if($data['cells'][$i][1] == '') break;
$dataexcel[$i-1]['nis'] = $data['cells'][$i][1];
$dataexcel[$i-1]['nama'] = $data['cells'][$i][2];
$dataexcel[$i-1]['alamat'] = $data['cells'][$i][3];
$dataexcel[$i-1]['kelas'] = $data['cells'][$i][4];
$dataexcel[$i-1]['wali'] = $data['cells'][$i][5];
$dataexcel[$i-1]['alamat_wali'] = $data['cells'][$i][6];
$dataexcel[$i-1]['telp_wali'] = $data['cells'][$i][7];
$dataexcel[$i-1]['pekerjaan'] = $data['cells'][$i][8];

}
delete_files($upload_data['file_path']);
$this->load->model('Excel_model');
$this->Excel_model->tambahsiswa($dataexcel);
}
header('location:'.base_url().'siswa');
}

8 of 12 4/1/2016 5:48 PM
Import Dari Excel Ke Database Menggunakan CodeIgniter ~ H4nk Blogs http://h4nk.blogspot.co.id/2014/06/import-dari-excel-ke-database.html

else
{
header('location:'.base_url().'');
}
} 

Dan untuk modul nya adalah :

 <?php
class Excel_model extends CI_Model {
function tambahsiswa($dataarray)
{
for($i=0;$i<count($dataarray);$i++){
$data = array(
'nis'=>$dataarray[$i]['nis'],
'nama'=>$dataarray[$i]['nama'],
'alamat'=>$dataarray[$i]['alamat'],
'kelas'=>$dataarray[$i]['kelas'],
'wali'=>$dataarray[$i]['wali'],
'alamat_wali'=>$dataarray[$i]['alamat_wali'],
'telp_wali'=>$dataarray[$i]['telp_wali'],
'pekerjaan'=>$dataarray[$i]['pekerjaan']
);
$this->db->insert('siswa', $data);
}
}
}
?> 

Tampilan Viewnya adalah ;

9 of 12 4/1/2016 5:48 PM
Import Dari Excel Ke Database Menggunakan CodeIgniter ~ H4nk Blogs http://h4nk.blogspot.co.id/2014/06/import-dari-excel-ke-database.html

 <body>
<div class="well"><?php echo form_open_multipart('siswa/do_upload');?>
<input type="file" id="file_upload" name="userfile" size="20" />
<br />
<input type="submit" value="Upload" />
<?php echo form_close();?> 

Berikut Print Screen

10 of 12 4/1/2016 5:48 PM
Import Dari Excel Ke Database Menggunakan CodeIgniter ~ H4nk Blogs http://h4nk.blogspot.co.id/2014/06/import-dari-excel-ke-database.html

Semoga artikel ini dapat membantu anda dalam dalam proses import dari excel ke database menggunakan Codeigniter

UPDATE :

 30-Juni-2014
Solusi Fatal error: Call to undefined function delete_files() 

11 of 12 4/1/2016 5:48 PM
Import Dari Excel Ke Database Menggunakan CodeIgniter ~ H4nk Blogs http://h4nk.blogspot.co.id/2014/06/import-dari-excel-ke-database.html

12 of 12 4/1/2016 5:48 PM

Anda mungkin juga menyukai