Skip to content

Commit 6f1c374

Browse files
committed
Refactor CSV export in ExportTemplateCmsBri action to remove enclosure and add data cleaning step
1 parent 0499092 commit 6f1c374

File tree

2 files changed

+43
-2
lines changed

2 files changed

+43
-2
lines changed

app/Nova/Actions/ExportTemplateCmsBri.php

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,24 @@ public function handle(ActionFields $fields, Collection $models)
169169
$collection = $collection->merge($summary);
170170
}
171171
$filename = $fields->filename.'.csv';
172-
(new FastExcel($collection))->configureCsv(delimiter: '|', enclosure: chr(32))->export(Storage::disk('temp')->path($filename));
173-
172+
(new FastExcel($collection))->configureCsv(delimiter: '|')->export(Storage::disk('temp')->path($filename));
173+
$inputFile = Storage::disk('temp')->path($filename);
174+
$outputFile = Storage::disk('temp')->path('clean_'.$filename);
175+
176+
$inputHandle = fopen($inputFile, 'r');
177+
$outputHandle = fopen($outputFile, 'w');
178+
179+
if ($inputHandle !== false && $outputHandle !== false) {
180+
while (($data = fgetcsv($inputHandle, 0, '|', '"')) !== false) {
181+
// Gabungkan data dengan koma tanpa enclosure dan tulis ke file baru
182+
fwrite($outputHandle, implode('|', $data) . PHP_EOL);
183+
}
184+
fclose($inputHandle);
185+
fclose($outputHandle);
186+
}
187+
188+
Storage::disk('temp')->delete($filename);
189+
Storage::disk('temp')->move('clean_'.$filename, $filename);
174190
return Action::redirect(route('dump-download', [
175191
'filename' => $filename,
176192
]));
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
No|Sender Account|Benef Account|Benef Name|eMail|Amount|Currency|Charge Type|Voucher Code|BI Trx Code|Remark|Reference Number
2+
1|652074285781000|014301009738535|Miseran||56000|IDR|BEN|||sdswd|67b3bd0e52181
3+
2|652074285781000|014301041775501|RAHMAT RIDHA FADILLAH||56000|IDR|BEN|||sdswd|67b3bd0e52340
4+
3|652074285781000|449701019229537|Ryan Fadhilah||280000|IDR|BEN|||sdswd|67b3bd0e5248d
5+
4|652074285781000|449901021981539|Muhammad Din Noor||56000|IDR|BEN|||sdswd|67b3bd0e525e5
6+
5|652074285781000|014301027295503|MARIATUN||56000|IDR|BEN|||sdswd|67b3bd0e5272e
7+
6|652074285781000|449601004963532|RAIHANAH||112000|IDR|BEN|||sdswd|67b3bd0e528c8
8+
7|652074285781000|014301045529504|Budi asmanto noviady||56000|IDR|BEN|||sdswd|67b3bd0e52a2d
9+
8|652074285781000|449501009780537|ABDUL MUGNI||56000|IDR|BEN|||sdswd|67b3bd0e52bcd
10+
9|652074285781000|450001010444531|Rusdiansyah||56000|IDR|BEN|||sdswd|67b3bd0e52d32
11+
10|652074285781000|449701019473534|Muhammad Roby Gunawan||280000|IDR|BEN|||sdswd|67b3bd0e52e82
12+
11|652074285781000|449401016836537|ALIANTO||112000|IDR|BEN|||sdswd|67b3bd0e52ff6
13+
12|652074285781000|014301041671503|MUHAMMAD HUZAZI||112000|IDR|BEN|||sdswd|67b3bd0e53142
14+
13|652074285781000|014301042086507|Edy Fitriansyah||112000|IDR|BEN|||sdswd|67b3bd0e5328e
15+
14|652074285781000|449501008830533|Harto||56000|IDR|BEN|||sdswd|67b3bd0e53407
16+
15|652074285781000|449401013414530|Syafrudin||112000|IDR|BEN|||sdswd|67b3bd0e53556
17+
16|652074285781000|449501008817535|Ali Syafrudin||56000|IDR|BEN|||sdswd|67b3bd0e5369f
18+
17|652074285781000|014301042789503|ALPIANNOR||56000|IDR|BEN|||sdswd|67b3bd0e53831
19+
18|652074285781000|449501005155536|Abdul Hadi||56000|IDR|BEN|||sdswd|67b3bd0e5397a
20+
19|652074285781000|745901011775531|AHMAD RIFANSYAH||56000|IDR|BEN|||sdswd|67b3bd0e53ac1
21+
20|652074285781000|449401019513536|MUHAMMAD ARIFIN||56000|IDR|BEN|||sdswd|67b3bd0e53c32
22+
COUNT|20||||||||||
23+
TOTAL|1848000||||||||||
24+
DATE|||||||||||
25+
TIME|||||||||||

0 commit comments

Comments
 (0)