Saya menggunakan Laravel Excel 2.1. Laravel 5.4.3.
Saya mencoba membaca file CSV. Masalahnya adalah, beberapa sel diubah menjadi false
padahal seharusnya berupa string.
Berikut adalah contoh baris pertama file: 11/10/2016 11:35,91,241,Dundee Students Association,Liar Bar,dusa-2988,Payment,�1.80,�0.00,�1.80
. �
sebenarnya \ufffd
.
Masalahnya hanya menyangkut tiga baris terakhir. Ketika saya membaca file:
Excel::filter('chunk')->load($file_path)->chunk(250, function($sheets_collection)
{
foreach ($sheets_collection as $current_sheet) {
foreach ($current_sheet as $current_row) {
// process $current_row
}
}
}, 'UTF-8');
$current_row berisi nilai yang benar untuk semuanya, kecuali tiga sel terakhir yang hanya berisi false
. Alih-alih mendapatkan false, saya ingin mendapatkan string.
Namun, jika saya menghapus semua �
hanya dari baris pertama, itu berfungsi dengan baik tidak hanya untuk baris pertama tetapi juga untuk yang lainnya!
Baris pertama dibaca sebagai array berikut: ["11\/10\/2016 11:35",91,241,"Dundee Students Association","Liar Bar","dusa-2988","Payment",1.8,0,1.8]
.
Baris kedua dibaca sebagai array berikut: ["11\/10\/2016 11:35",91,241,"Dundee Students Association","Liar Bar","dusa-3461","Payment","\ufffd1.10","\ufffd0.00","\ufffd1.10"]
. Semua baris berikutnya dibaca dengan cara yang mirip dengan baris kedua.
Saya tidak dapat membersihkan baris pertama untuk setiap file yang saya rencanakan untuk diproses, jadi apakah ada cara untuk mengatur Laravel-Excel untuk mengambil nilai dari sel dengan benar sebagai string?
Masalah yang sama muncul bagi saya ketika menggunakan karakter seperti ’
dan é
. Apakah Anda sudah menemukan solusinya?
Sunting: mengubah pengkodean karakter menjadi windows-1252
berhasil untuk saya.
@marijnz0r Terima kasih banyak!
Saya dulu punya masalah seperti ini dengan karakter °.
Untuk mengatasi masalah saya, saya melakukan itu:
Config::set('excel.import.encoding.input', 'windows-1252');
Config::set('excel.import.encoding.output', 'windows-1252');
Tks banyak membantu!
Komentar yang paling membantu
@marijnz0r Terima kasih banyak!
Saya dulu punya masalah seperti ini dengan karakter °.
Untuk mengatasi masalah saya, saya melakukan itu:
Config::set('excel.import.encoding.input', 'windows-1252'); Config::set('excel.import.encoding.output', 'windows-1252');