From 38404bbb9a6675c486557887f34f8da4ed7a7338 Mon Sep 17 00:00:00 2001
From: Felix Limanta <13515065@std.stei.itb.ac.id>
Date: Tue, 24 Apr 2018 17:55:09 +0700
Subject: [PATCH] Fixed data import

---
 .../Controllers/DataKinerjaController.php     |   4 +++-
 .../Controllers/DataKompetensiController.php  |   4 +++-
 .../app/templates/kompetensi_template.xlsx    | Bin 11602 -> 11096 bytes
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/app/Http/Controllers/DataKinerjaController.php b/app/Http/Controllers/DataKinerjaController.php
index 673be17..1be2a88 100644
--- a/app/Http/Controllers/DataKinerjaController.php
+++ b/app/Http/Controllers/DataKinerjaController.php
@@ -204,7 +204,9 @@ class DataKinerjaController extends APIBaseController
             if ($extension == "xlsx" || $extension == "xls" || $extension == "csv") {
                 // Load data from Excel file
                 $path = $request->excel->getRealPath();
-                $objs = Excel::load($path, null)->get();
+                $objs = Excel::load($path, function ($reader) {
+                    $reader->ignoreEmpty();
+                })->get();
 
                 // Parse data
                 if (!empty($objs) && $objs->count()) {
diff --git a/app/Http/Controllers/DataKompetensiController.php b/app/Http/Controllers/DataKompetensiController.php
index 60fa942..52bdcfa 100644
--- a/app/Http/Controllers/DataKompetensiController.php
+++ b/app/Http/Controllers/DataKompetensiController.php
@@ -373,7 +373,9 @@ class DataKompetensiController extends APIBaseController
             if ($extension == "xlsx" || $extension == "xls" || $extension == "csv") {
                 // Load data from Excel file
                 $path = $request->excel->getRealPath();
-                $objs = Excel::load($path, null)->get();
+                $objs = Excel::load($path, function ($reader) {
+                    $reader->ignoreEmpty();
+                })->get();
 
                 // Parse data
                 if (!empty($objs) && $objs->count()) {
diff --git a/storage/app/templates/kompetensi_template.xlsx b/storage/app/templates/kompetensi_template.xlsx
index 2055eecff513c9d833250ddb90f7632e1f166221..9e8e7210f86af1b68e5c36938ed977ed374ab493 100644
GIT binary patch
delta 3471
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
Up*i&e2*i9kT~6(i#s2L61JevFQ~&?~

delta 3946
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

-- 
GitLab