Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- defined('BASEPATH') OR exit('No direct script access allowed');
- //load Spout Library
- require_once APPPATH . 'third_party/spout/src/Spout/Autoloader/autoload.php';
- use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;
- use Box\Spout\Writer\Common\Creator\WriterEntityFactory;
- use Box\Spout\Common\Entity\Row;
- $reader = ReaderEntityFactory::createXLSXReader();
- $reader->setShouldFormatDates(true); // default value
- class Alumni extends CI_Controller
- {
- public function __construct(){
- parent::__construct();
- $this->load->model('Model_alumni');
- }
- public function index(){
- $data['title']='Alumni Data';
- $data['user']= $this->db->get_where('user',['email'=>$this->session->userdata('email')])->row_array();
- $data['alumni']=$this->Model_alumni->tampil();
- $this->load->view('templates/header',$data);
- $this->load->view('templates/sidebar',$data);
- $this->load->view('templates/topbar',$data);
- $this->load->view('alumni/index',$data);
- $this->load->view('templates/footer');
- //ketika button submit diklik
- if ($this->input->post('submit', TRUE) == 'upload') {
- $config['upload_path'] = './upload/doc/'; //siapkan path untuk upload file
- $config['allowed_types'] = 'xlsx'; //siapkan format file
- $config['file_name'] = 'doc' . time(); //rename file yang diupload
- $this->load->library('upload', $config);
- if ($this->upload->do_upload('excel')) {
- //fetch data upload
- $file = $this->upload->data();
- $reader = ReaderEntityFactory::createXLSXReader(); //buat xlsx reader
- $reader->open('./upload/doc/' . $file['file_name']); //open file xlsx yang baru saja diunggah
- //looping pembacaan sheet dalam file
- foreach ($reader->getSheetIterator() as $sheet) {
- $numRow = 1;
- //siapkan variabel array kosong untuk menampung variabel array data
- $save = array();
- //looping pembacaan row dalam sheet
- foreach ($sheet->getRowIterator() as $row) {
- if ($numRow > 1) {
- //ambil cell
- $cells = $row->getCells();
- $reader->setShouldFormatDates(true);
- $data = array(
- 'fullname' => $cells[1],
- 'tempatlahir' => $cells[2],
- 'ortu' => $cells[3],
- 'tanggallahir' => $cells[4],
- 'kelas' => $cells[5],
- 'jk' => $cells[6],
- 'confirm' => $cells[7],
- 'catatan' => $cells[8],
- 'date_created' => $cells[9],
- 'email' => $cells[10],
- 'dataurl' => $cells[11],
- 'foto1' => $cells[12],
- 'foto2' => $cells[13]
- );
- //tambahkan array $data ke $save
- array_push($save, $data);
- }
- $numRow++;
- }
- //simpan data ke database
- $this->model_alumni->simpan($save);
- //tutup spout reader
- $reader->close();
- //hapus file yang sudah diupload
- unlink('./upload/doc/' . $file['file_name']);
- //tampilkan pesan success dan redirect ulang ke index controller import
- echo '<script type="text/javascript">
- alert(\'Data berhasil disimpan\');
- </script>';
- $this->session->set_flashdata('alumni','<div class="alert alert-success alert-dismissible" role="alert">The alumni data has been imported and added!</div>');
- redirect('alumni/index');
- }
- } else {
- echo "Error :" . $this->upload->display_errors(); //tampilkan pesan error jika file gagal diupload
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement