From 86cb1939788ca52db71cefb802baf7b80abfeb6b Mon Sep 17 00:00:00 2001 From: Christophorus Dharma Winata <13521009@std.stei.itb.ac.id> Date: Wed, 3 Apr 2024 20:21:34 +0700 Subject: [PATCH] fix: date formatting --- .../ui/settings/SettingsViewModel.kt | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/pbd/tubes/exe_android/ui/settings/SettingsViewModel.kt b/app/src/main/java/pbd/tubes/exe_android/ui/settings/SettingsViewModel.kt index e8f9f1c..81646ae 100644 --- a/app/src/main/java/pbd/tubes/exe_android/ui/settings/SettingsViewModel.kt +++ b/app/src/main/java/pbd/tubes/exe_android/ui/settings/SettingsViewModel.kt @@ -10,12 +10,17 @@ import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.CreationExtras import kotlinx.coroutines.launch import org.apache.poi.hssf.usermodel.HSSFWorkbook +import org.apache.poi.ss.usermodel.CellStyle +import org.apache.poi.ss.usermodel.DataFormat +import org.apache.poi.ss.util.DateFormatConverter import org.apache.poi.xssf.usermodel.XSSFWorkbook import pbd.tubes.exe_android.BondomanApp import pbd.tubes.exe_android.data.database.TransactionsRepository import pbd.tubes.exe_android.models.Transaction import java.io.File import java.io.FileOutputStream +import java.util.Locale + class SettingsViewModel( private val transactionsRepository: TransactionsRepository @@ -27,6 +32,10 @@ class SettingsViewModel( fun saveXLSX(){ val workbook = XSSFWorkbook() val workSheet = workbook.createSheet("Daftar Transaksi") + val excelFormatPattern = DateFormatConverter.convert(Locale.ENGLISH, "dd MMMM yyyy") + val dateCellStyle: CellStyle = workbook.createCellStyle() + val poiFormat: DataFormat = workbook.createDataFormat() + dateCellStyle.dataFormat = poiFormat.getFormat(excelFormatPattern) var row = workSheet.createRow(0) row.createCell(0).setCellValue("Tanggal") @@ -34,9 +43,12 @@ class SettingsViewModel( row.createCell(2).setCellValue("Nominal Transaksi") row.createCell(3).setCellValue("Nama Transaksi") row.createCell(4).setCellValue("Lokasi") + for (i in transactionList!!.value!!.indices){ row = workSheet.createRow(i+1) - row.createCell(0).setCellValue(transactionList!!.value!![i].date) + val dateCell = row.createCell(0) + dateCell.setCellValue(transactionList!!.value!![i].date) + dateCell.setCellStyle(dateCellStyle) row.createCell(1).setCellValue(transactionList!!.value!![i].category.toString()) row.createCell(2).setCellValue(transactionList!!.value!![i].nominal) row.createCell(3).setCellValue(transactionList!!.value!![i].name) @@ -57,6 +69,10 @@ class SettingsViewModel( fun saveXLS(){ val workbook = HSSFWorkbook() val workSheet = workbook.createSheet("Daftar Transaksi") + val excelFormatPattern = DateFormatConverter.convert(Locale.ENGLISH, "dd MMMM yyyy") + val dateCellStyle: CellStyle = workbook.createCellStyle() + val poiFormat: DataFormat = workbook.createDataFormat() + dateCellStyle.dataFormat = poiFormat.getFormat(excelFormatPattern) var row = workSheet.createRow(0) row.createCell(0).setCellValue("Tanggal") @@ -66,7 +82,9 @@ class SettingsViewModel( row.createCell(4).setCellValue("Lokasi") for (i in transactionList!!.value!!.indices){ row = workSheet.createRow(i+1) - row.createCell(0).setCellValue(transactionList!!.value!![i].date) + val dateCell = row.createCell(0) + dateCell.setCellValue(transactionList!!.value!![i].date) + dateCell.setCellStyle(dateCellStyle) row.createCell(1).setCellValue(transactionList!!.value!![i].category.toString()) row.createCell(2).setCellValue(transactionList!!.value!![i].nominal) row.createCell(3).setCellValue(transactionList!!.value!![i].name) -- GitLab