Berikut adalah contoh source code untuk mengimport mahasiswa dari file excel
<?php
include "./bootstrap.php";
use \UniversitySDK\Entities\SPMBStudent;
class ImportStudentFromExcel{
function localToDbDate($var){
$date = str_replace('/', '-', $var);
return date('Y-m-d', strtotime($date));
}
function logStatus($t){
$f = fopen(__DIR__.'/InsertStudentFromExcel-live.log','a+');
if($f){
$now = new \DateTime();
$now->setTimezone(new \DateTimeZone('Asia/Jakarta'));
$time = $now->format('Y-m-d H:i:s');
$text = $time.': '.$t."\n";
echo $text;
fwrite($f,$text);
fclose($f);
}
}
private function findNationality($nationalityText){
$nationalityText = strtolower(trim($nationalityText));
foreach($this->nationalities as $rl){
if(strtolower($rl->name) == $nationalityText){
return $rl;
}
}
return NULL;
}
function findReligion($religionText){
$religionText = strtolower($religionText);
foreach($this->religions as $rl){
if(strtolower($rl->name) == $religionText){
return $rl;
}
}
return NULL;
}
public function getDataSources(){
return [
[
'file'=>'/1. Udah registrasi dari 295- S2 MPI-edit1.csv',
'progID'=>1039
],
[
'file'=>'/2. Udah registrasi dari 295- S2 HES-edit1.csv',
'progID'=>1036
],
[
'file'=>'/3. Udah registrasi dari 295- S2 IAT-edit1.csv',
'progID'=>1038
],
[
'file'=>'/4. Udah registrasi dari 295- S2 PBA-edit1.csv',
'progID'=>1041
],
[
'file'=>'/5. Udah registrasi dari 295- S2 PGMI-edit1.csv',
'progID'=>1042
],
[
'file'=>'/6. Udah registrasi dari 295- S2 PAI-edit1.csv',
'progID'=>1040
],
[
'file'=>'/7. Udah registrasi dari 295- S2 AFI-edit1.csv',
'progID'=>1034
],
[
'file'=>'/8. Udah registrasi dari 295- S2 ES-edit1.csv',
'progID'=>1035
],
[
'file'=>'/9. Udah registrasi dari 295- S2 HKI-edit1.csv',
'progID'=>1037
],
[
'file'=>'/10. Udah registrasi dari 295- S2 TBI-edit1.csv',
'progID'=>1043
],
[
'file'=>'/home/aldo/Downloads/Yang registrasi untuk siakad/S3 edit 1/1. Yang registrasi dari 295- S3 MPI Edit1.csv',
'progID'=>1044
],
[
'file'=>'/home/aldo/Downloads/Yang registrasi untuk siakad/S3 edit 1/2. Yang registrasi dari 295- S3 SI Edit1.csv',
'progID'=>1045
]
];
}
public function run(){
$this->admin = new \UniversitySDK\Admin;
//$this->admin->setHost('http://university');
if(!$ret){
echo 'failed to login';
return FALSE;
}
$this->religions = $this->admin->getAllReligions();
//get all nationalities
$this->nationalities = $this->admin->getAllNationalities();
$srcs = $this->getDataSources();
foreach($srcs as $src){
$programID = $src['progID'];//
$csvPath = $src['file'];
$row = 1;
if (($handle = fopen($csvPath, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if($row==1){
$row++;
continue;
}
$std = new SPMBStudent();
$std->UniversityID = 1001;
$std->unitid = $programID;
$std->ProgramID = $programID;
//$std->fakultas = 1001;
//$std->kode_prodi_sia = ;
$std->no_ident = trim($data[5]);
$std->nim = trim($data[3]);
$std->nama = trim($data[2]);
$std->email = trim($data[1]);
if(empty($std->email)){
$std->email = $std->nim .'@universitas.ac.id';
}
$std->tmpt_lahir = strtoupper(trim($data[6]));
$std->tgl_lahir = trim($this->localToDbDate($data[7]));
$sex = 'P';
if(trim($data[4])=='Laki - laki'){
$sex = 'L';
}
$std->sex = $sex;
$std->blood = '';
$now = new \DateTime();
$now->setTimezone(new \DateTimeZone('Asia/Jakarta'));
$time = $now->format('Y-m-d H:i:s');
$std->reg_date = $time;
//all using area id
//Kelurahan/Desa Tempat Tinggal 10
$std->dsn = trim($data[10]);
//Kecamatan Tempat Tinggal 11
$kec = trim($data[11]);
$kec = str_replace(['kec'],'',strtolower($kec));
if($kec=='campurdarat'){
$kec = 'campur darat';
}
if($kec=='pucanglaban'){
$kec = 'pucang laban';
}
$subdistrict = $this->admin->findSubDistrict($kec);
if($subdistrict==NULL){
$this->logStatus('Can not find kec:'.$kec);
}else{
$std->kec = $subdistrict->ID;
}
//Kabupaten Tempat Tinggal 12
$kab = str_replace(['kabupaten','kota'],'',strtolower(trim($data[12])));
//exceptions
if($kab=='kediri'){
$kab = 'Kota Kediri';
}
$city = $this->admin->findCity($kab);
if($city==NULL){
$this->logStatus('Can not find kab:'.$kab);
}else{
$std->kab = $city->ID;
}
//Provinsi Tempat Tinggal 13
$prop = trim($data[13]);
if($prop=='JAWATIMUR'){
$prop = 'JAWA TIMUR';
}
$prov = $this->admin->findProvince($prop);
if($prov==NULL){
$this->logStatus('Can not find prop:'.$prop);
}else{
$std->prov = $prov->ID;
}
$std->kpos = '-';
$std->no_hp = '-';
$neg = trim($data[9]);
$neg = str_replace('WNI','Indonesia',$neg);
$nationality = $this->findNationality($neg);
if($nationality==NULL){
$this->logStatus('negara tidak ditemukan: '.$neg);
$std->negara = 'ID';
}else{
//var_dump($nationality);
$std->negara = $nationality->code;
}
$ag = trim($data[8]);
$rel = $this->findReligion($ag);
if($rel==NULL){
$this->logStatus('agama tidak ditemukan: '.$ag);
$std->id_agama = 1;
}else{
//var_dump($rel)
$std->id_agama = $rel->ID;
}
$std->ayah = trim($data[15]);
$std->status = 1;
$std->tahun = 2019;
$std->jalur = 5;//spmb mandiri
$std->ibu = trim($data[14]);
$std->id_pendaftaran = '';
$std->alamat = '';
$std->nik_ayah = '';
$std->nik_ibu = '';
$std->tgl_ayah = '';
$std->tgl_ibu = '';
$std->pekerjaan = '';
$std->alamatortu = '';
$std->kotaortu = '';//code from feeder
$std->propinsiortu = '';
$std->kodeposortu = '';
$std->wali = '';
$std->alamatwali = '';
$std->alamatwali = '';
$std->hp_ortu = '';
$std->pend_ibu = '';
$std->pend_bpk = '';
$std->kerja_ibu = '';
$std->kerja_bpk = '';
$std->gaji_ibu ='';
$std->gaji_bpk = '';
$std->gaji_wali = '';
$std->pend_wali = '';
$std->kerja_wali = '';
$this->logStatus('registering: '.$std->nim);
$ret2 = $this->admin->registerSPMBStudent($std);
if(isset($ret2->error)){
$this->logStatus('Error Student: '.$std->nim.' '.$std->nama.' '.$ret2->error->message);
}
if(isset($ret2->status)){
if($ret2->status==0){
$this->logStatus('Error Student: '.$std->nim.' '.$std->nama.' '.$ret2->message);
}else{
$this->logStatus('done: '.$ret2->status);
//return TRUE;
}
}
$row++;
}
fclose($handle);
}
}
}
}
$r = new ImportStudentFromExcel();
$r->run();
<?php
include "./bootstrap.php";
use \UniversitySDK\Entities\SPMBStudent;
class ImportStudentFromExcel{
function localToDbDate($var){
$date = str_replace('/', '-', $var);
return date('Y-m-d', strtotime($date));
}
function logStatus($t){
$f = fopen(__DIR__.'/InsertStudentFromExcel-live.log','a+');
if($f){
$now = new \DateTime();
$now->setTimezone(new \DateTimeZone('Asia/Jakarta'));
$time = $now->format('Y-m-d H:i:s');
$text = $time.': '.$t."\n";
echo $text;
fwrite($f,$text);
fclose($f);
}
}
private function findNationality($nationalityText){
$nationalityText = strtolower(trim($nationalityText));
foreach($this->nationalities as $rl){
if(strtolower($rl->name) == $nationalityText){
return $rl;
}
}
return NULL;
}
function findReligion($religionText){
$religionText = strtolower($religionText);
foreach($this->religions as $rl){
if(strtolower($rl->name) == $religionText){
return $rl;
}
}
return NULL;
}
public function getDataSources(){
return [
[
'file'=>'/1. Udah registrasi dari 295- S2 MPI-edit1.csv',
'progID'=>1039
],
[
'file'=>'/2. Udah registrasi dari 295- S2 HES-edit1.csv',
'progID'=>1036
],
[
'file'=>'/3. Udah registrasi dari 295- S2 IAT-edit1.csv',
'progID'=>1038
],
[
'file'=>'/4. Udah registrasi dari 295- S2 PBA-edit1.csv',
'progID'=>1041
],
[
'file'=>'/5. Udah registrasi dari 295- S2 PGMI-edit1.csv',
'progID'=>1042
],
[
'file'=>'/6. Udah registrasi dari 295- S2 PAI-edit1.csv',
'progID'=>1040
],
[
'file'=>'/7. Udah registrasi dari 295- S2 AFI-edit1.csv',
'progID'=>1034
],
[
'file'=>'/8. Udah registrasi dari 295- S2 ES-edit1.csv',
'progID'=>1035
],
[
'file'=>'/9. Udah registrasi dari 295- S2 HKI-edit1.csv',
'progID'=>1037
],
[
'file'=>'/10. Udah registrasi dari 295- S2 TBI-edit1.csv',
'progID'=>1043
],
[
'file'=>'/home/aldo/Downloads/Yang registrasi untuk siakad/S3 edit 1/1. Yang registrasi dari 295- S3 MPI Edit1.csv',
'progID'=>1044
],
[
'file'=>'/home/aldo/Downloads/Yang registrasi untuk siakad/S3 edit 1/2. Yang registrasi dari 295- S3 SI Edit1.csv',
'progID'=>1045
]
];
}
public function run(){
$this->admin = new \UniversitySDK\Admin;
//$this->admin->setHost('http://university');
$ret = $this->admin->login(1001,'[email protected]', 'J9iFt>L,(n7d@4d');
if(!$ret){
echo 'failed to login';
return FALSE;
}
$this->religions = $this->admin->getAllReligions();
//get all nationalities
$this->nationalities = $this->admin->getAllNationalities();
$srcs = $this->getDataSources();
foreach($srcs as $src){
$programID = $src['progID'];//
$csvPath = $src['file'];
$row = 1;
if (($handle = fopen($csvPath, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if($row==1){
$row++;
continue;
}
$std = new SPMBStudent();
$std->UniversityID = 1001;
$std->unitid = $programID;
$std->ProgramID = $programID;
//$std->fakultas = 1001;
//$std->kode_prodi_sia = ;
$std->no_ident = trim($data[5]);
$std->nim = trim($data[3]);
$std->nama = trim($data[2]);
$std->email = trim($data[1]);
if(empty($std->email)){
$std->email = $std->nim .'@universitas.ac.id';
}
$std->tmpt_lahir = strtoupper(trim($data[6]));
$std->tgl_lahir = trim($this->localToDbDate($data[7]));
$sex = 'P';
if(trim($data[4])=='Laki - laki'){
$sex = 'L';
}
$std->sex = $sex;
$std->blood = '';
$now = new \DateTime();
$now->setTimezone(new \DateTimeZone('Asia/Jakarta'));
$time = $now->format('Y-m-d H:i:s');
$std->reg_date = $time;
//all using area id
//Kelurahan/Desa Tempat Tinggal 10
$std->dsn = trim($data[10]);
//Kecamatan Tempat Tinggal 11
$kec = trim($data[11]);
$kec = str_replace(['kec'],'',strtolower($kec));
if($kec=='campurdarat'){
$kec = 'campur darat';
}
if($kec=='pucanglaban'){
$kec = 'pucang laban';
}
$subdistrict = $this->admin->findSubDistrict($kec);
if($subdistrict==NULL){
$this->logStatus('Can not find kec:'.$kec);
}else{
$std->kec = $subdistrict->ID;
}
//Kabupaten Tempat Tinggal 12
$kab = str_replace(['kabupaten','kota'],'',strtolower(trim($data[12])));
//exceptions
if($kab=='kediri'){
$kab = 'Kota Kediri';
}
$city = $this->admin->findCity($kab);
if($city==NULL){
$this->logStatus('Can not find kab:'.$kab);
}else{
$std->kab = $city->ID;
}
//Provinsi Tempat Tinggal 13
$prop = trim($data[13]);
if($prop=='JAWATIMUR'){
$prop = 'JAWA TIMUR';
}
$prov = $this->admin->findProvince($prop);
if($prov==NULL){
$this->logStatus('Can not find prop:'.$prop);
}else{
$std->prov = $prov->ID;
}
$std->kpos = '-';
$std->no_hp = '-';
$neg = trim($data[9]);
$neg = str_replace('WNI','Indonesia',$neg);
$nationality = $this->findNationality($neg);
if($nationality==NULL){
$this->logStatus('negara tidak ditemukan: '.$neg);
$std->negara = 'ID';
}else{
//var_dump($nationality);
$std->negara = $nationality->code;
}
$ag = trim($data[8]);
$rel = $this->findReligion($ag);
if($rel==NULL){
$this->logStatus('agama tidak ditemukan: '.$ag);
$std->id_agama = 1;
}else{
//var_dump($rel)
$std->id_agama = $rel->ID;
}
$std->ayah = trim($data[15]);
$std->status = 1;
$std->tahun = 2019;
$std->jalur = 5;//spmb mandiri
$std->ibu = trim($data[14]);
$std->id_pendaftaran = '';
$std->alamat = '';
$std->nik_ayah = '';
$std->nik_ibu = '';
$std->tgl_ayah = '';
$std->tgl_ibu = '';
$std->pekerjaan = '';
$std->alamatortu = '';
$std->kotaortu = '';//code from feeder
$std->propinsiortu = '';
$std->kodeposortu = '';
$std->wali = '';
$std->alamatwali = '';
$std->alamatwali = '';
$std->hp_ortu = '';
$std->pend_ibu = '';
$std->pend_bpk = '';
$std->kerja_ibu = '';
$std->kerja_bpk = '';
$std->gaji_ibu ='';
$std->gaji_bpk = '';
$std->gaji_wali = '';
$std->pend_wali = '';
$std->kerja_wali = '';
$this->logStatus('registering: '.$std->nim);
$ret2 = $this->admin->registerSPMBStudent($std);
if(isset($ret2->error)){
$this->logStatus('Error Student: '.$std->nim.' '.$std->nama.' '.$ret2->error->message);
}
if(isset($ret2->status)){
if($ret2->status==0){
$this->logStatus('Error Student: '.$std->nim.' '.$std->nama.' '.$ret2->message);
}else{
$this->logStatus('done: '.$ret2->status);
//return TRUE;
}
}
$row++;
}
fclose($handle);
}
}
}
}
$r = new ImportStudentFromExcel();
$r->run();
<?php
include "./bootstrap.php";
use \UniversitySDK\Entities\SPMBStudent;
class ImportStudentFromExcel{
function localToDbDate($var){
$date = str_replace('/', '-', $var);
return date('Y-m-d', strtotime($date));
}
function logStatus($t){
$f = fopen(__DIR__.'/InsertStudentFromExcel-live.log','a+');
if($f){
$now = new \DateTime();
$now->setTimezone(new \DateTimeZone('Asia/Jakarta'));
$time = $now->format('Y-m-d H:i:s');
$text = $time.': '.$t."\n";
echo $text;
fwrite($f,$text);
fclose($f);
}
}
private function findNationality($nationalityText){
$nationalityText = strtolower(trim($nationalityText));
foreach($this->nationalities as $rl){
if(strtolower($rl->name) == $nationalityText){
return $rl;
}
}
return NULL;
}
function findReligion($religionText){
$religionText = strtolower($religionText);
foreach($this->religions as $rl){
if(strtolower($rl->name) == $religionText){
return $rl;
}
}
return NULL;
}
public function getDataSources(){
return [
[
'file'=>'/1. Udah registrasi dari 295- S2 MPI-edit1.csv',
'progID'=>1039
],
[
'file'=>'/2. Udah registrasi dari 295- S2 HES-edit1.csv',
'progID'=>1036
],
[
'file'=>'/3. Udah registrasi dari 295- S2 IAT-edit1.csv',
'progID'=>1038
],
[
'file'=>'/4. Udah registrasi dari 295- S2 PBA-edit1.csv',
'progID'=>1041
],
[
'file'=>'/5. Udah registrasi dari 295- S2 PGMI-edit1.csv',
'progID'=>1042
],
[
'file'=>'/6. Udah registrasi dari 295- S2 PAI-edit1.csv',
'progID'=>1040
],
[
'file'=>'/7. Udah registrasi dari 295- S2 AFI-edit1.csv',
'progID'=>1034
],
[
'file'=>'/8. Udah registrasi dari 295- S2 ES-edit1.csv',
'progID'=>1035
],
[
'file'=>'/9. Udah registrasi dari 295- S2 HKI-edit1.csv',
'progID'=>1037
],
[
'file'=>'/10. Udah registrasi dari 295- S2 TBI-edit1.csv',
'progID'=>1043
],
[
'file'=>'/home/aldo/Downloads/Yang registrasi untuk siakad/S3 edit 1/1. Yang registrasi dari 295- S3 MPI Edit1.csv',
'progID'=>1044
],
[
'file'=>'/home/aldo/Downloads/Yang registrasi untuk siakad/S3 edit 1/2. Yang registrasi dari 295- S3 SI Edit1.csv',
'progID'=>1045
]
];
}
public function run(){
$this->admin = new \UniversitySDK\Admin;
//$this->admin->setHost('http://university');
$ret = $this->admin->login(1001,'[email protected]', 'J9iFt>L,(n7d@4d');
if(!$ret){
echo 'failed to login';
return FALSE;
}
$this->religions = $this->admin->getAllReligions();
//get all nationalities
$this->nationalities = $this->admin->getAllNationalities();
$srcs = $this->getDataSources();
foreach($srcs as $src){
$programID = $src['progID'];//
$csvPath = $src['file'];
$row = 1;
if (($handle = fopen($csvPath, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if($row==1){
$row++;
continue;
}
$std = new SPMBStudent();
$std->UniversityID = 1001;
$std->unitid = $programID;
$std->ProgramID = $programID;
//$std->fakultas = 1001;
//$std->kode_prodi_sia = ;
$std->no_ident = trim($data[5]);
$std->nim = trim($data[3]);
$std->nama = trim($data[2]);
$std->email = trim($data[1]);
if(empty($std->email)){
$std->email = $std->nim .'@universitas.ac.id';
}
$std->tmpt_lahir = strtoupper(trim($data[6]));
$std->tgl_lahir = trim($this->localToDbDate($data[7]));
$sex = 'P';
if(trim($data[4])=='Laki - laki'){
$sex = 'L';
}
$std->sex = $sex;
$std->blood = '';
$now = new \DateTime();
$now->setTimezone(new \DateTimeZone('Asia/Jakarta'));
$time = $now->format('Y-m-d H:i:s');
$std->reg_date = $time;
//all using area id
//Kelurahan/Desa Tempat Tinggal 10
$std->dsn = trim($data[10]);
//Kecamatan Tempat Tinggal 11
$kec = trim($data[11]);
$kec = str_replace(['kec'],'',strtolower($kec));
if($kec=='campurdarat'){
$kec = 'campur darat';
}
if($kec=='pucanglaban'){
$kec = 'pucang laban';
}
$subdistrict = $this->admin->findSubDistrict($kec);
if($subdistrict==NULL){
$this->logStatus('Can not find kec:'.$kec);
}else{
$std->kec = $subdistrict->ID;
}
//Kabupaten Tempat Tinggal 12
$kab = str_replace(['kabupaten','kota'],'',strtolower(trim($data[12])));
//exceptions
if($kab=='kediri'){
$kab = 'Kota Kediri';
}
$city = $this->admin->findCity($kab);
if($city==NULL){
$this->logStatus('Can not find kab:'.$kab);
}else{
$std->kab = $city->ID;
}
//Provinsi Tempat Tinggal 13
$prop = trim($data[13]);
if($prop=='JAWATIMUR'){
$prop = 'JAWA TIMUR';
}
$prov = $this->admin->findProvince($prop);
if($prov==NULL){
$this->logStatus('Can not find prop:'.$prop);
}else{
$std->prov = $prov->ID;
}
$std->kpos = '-';
$std->no_hp = '-';
$neg = trim($data[9]);
$neg = str_replace('WNI','Indonesia',$neg);
$nationality = $this->findNationality($neg);
if($nationality==NULL){
$this->logStatus('negara tidak ditemukan: '.$neg);
$std->negara = 'ID';
}else{
//var_dump($nationality);
$std->negara = $nationality->code;
}
$ag = trim($data[8]);
$rel = $this->findReligion($ag);
if($rel==NULL){
$this->logStatus('agama tidak ditemukan: '.$ag);
$std->id_agama = 1;
}else{
//var_dump($rel)
$std->id_agama = $rel->ID;
}
$std->ayah = trim($data[15]);
$std->status = 1;
$std->tahun = 2019;
$std->jalur = 5;//spmb mandiri
$std->ibu = trim($data[14]);
$std->id_pendaftaran = '';
$std->alamat = '';
$std->nik_ayah = '';
$std->nik_ibu = '';
$std->tgl_ayah = '';
$std->tgl_ibu = '';
$std->pekerjaan = '';
$std->alamatortu = '';
$std->kotaortu = '';//code from feeder
$std->propinsiortu = '';
$std->kodeposortu = '';
$std->wali = '';
$std->alamatwali = '';
$std->alamatwali = '';
$std->hp_ortu = '';
$std->pend_ibu = '';
$std->pend_bpk = '';
$std->kerja_ibu = '';
$std->kerja_bpk = '';
$std->gaji_ibu ='';
$std->gaji_bpk = '';
$std->gaji_wali = '';
$std->pend_wali = '';
$std->kerja_wali = '';
$this->logStatus('registering: '.$std->nim);
$ret2 = $this->admin->registerSPMBStudent($std);
if(isset($ret2->error)){
$this->logStatus('Error Student: '.$std->nim.' '.$std->nama.' '.$ret2->error->message);
}
if(isset($ret2->status)){
if($ret2->status==0){
$this->logStatus('Error Student: '.$std->nim.' '.$std->nama.' '.$ret2->message);
}else{
$this->logStatus('done: '.$ret2->status);
//return TRUE;
}
}
$row++;
}
fclose($handle);
}
}
}
}
$r = new ImportStudentFromExcel();
$r->run();