diff --git a/app/Abstracts/Export.php b/app/Abstracts/Export.php index bbd434f7f..85f77bc36 100644 --- a/app/Abstracts/Export.php +++ b/app/Abstracts/Export.php @@ -9,6 +9,7 @@ use Maatwebsite\Excel\Concerns\ShouldAutoSize; use Maatwebsite\Excel\Concerns\WithHeadings; use Maatwebsite\Excel\Concerns\WithMapping; use Maatwebsite\Excel\Concerns\WithTitle; +use PhpOffice\PhpSpreadsheet\Shared\Date as ExcelDate; abstract class Export implements FromCollection, ShouldAutoSize, WithHeadings, WithMapping, WithTitle { @@ -41,7 +42,7 @@ abstract class Export implements FromCollection, ShouldAutoSize, WithHeadings, W $value = $model->$field; if (in_array($field, $date_fields)) { - $value = Date::parse($value)->format('Y-m-d'); + $value = ExcelDate::PHPToExcel(Date::parse($value)->format('Y-m-d')); } // Prevent CSV injection https://security.stackexchange.com/a/190848 diff --git a/app/Abstracts/Import.php b/app/Abstracts/Import.php index 8adeade53..68e17f33f 100644 --- a/app/Abstracts/Import.php +++ b/app/Abstracts/Import.php @@ -17,6 +17,7 @@ use Maatwebsite\Excel\Concerns\WithMapping; use Maatwebsite\Excel\Concerns\WithValidation; use Maatwebsite\Excel\Validators\Failure; use Illuminate\Support\Facades\Validator; +use PhpOffice\PhpSpreadsheet\Shared\Date as ExcelDate; abstract class Import implements ToModel, SkipsOnError, SkipsOnFailure, WithBatchInserts, WithChunkReading, WithHeadingRow, WithMapping, WithValidation { @@ -44,7 +45,7 @@ abstract class Import implements ToModel, SkipsOnError, SkipsOnFailure, WithBatc continue; } - $row[$date_field] = Date::parse($row[$date_field])->format('Y-m-d H:i:s'); + $row[$date_field] = Date::parse(ExcelDate::excelToDateTimeObject($row[$date_field]))->format('Y-m-d H:i:s'); } return $row; diff --git a/app/Imports/Banking/Transfers.php b/app/Imports/Banking/Transfers.php index f298076f2..62d97de31 100644 --- a/app/Imports/Banking/Transfers.php +++ b/app/Imports/Banking/Transfers.php @@ -7,6 +7,8 @@ use App\Models\Banking\Transaction; use App\Models\Banking\Transfer as Model; use App\Models\Setting\Category; use App\Traits\Currencies; +use App\Utilities\Date; +use PhpOffice\PhpSpreadsheet\Shared\Date as ExcelDate; class Transfers extends Import { @@ -21,6 +23,7 @@ class Transfers extends Import { $row = parent::map($row); + $row['transferred_at'] = Date::parse(ExcelDate::excelToDateTimeObject($row['transferred_at']))->format('Y-m-d'); $row['from_account_id'] = $this->getFromAccountId($row); $row['to_account_id'] = $this->getToAccountId($row); $row['expense_transaction_id'] = $this->getExpenseTransactionId($row); diff --git a/public/files/import/bills.xlsx b/public/files/import/bills.xlsx index 053cd8509..d04e1ff72 100644 Binary files a/public/files/import/bills.xlsx and b/public/files/import/bills.xlsx differ diff --git a/public/files/import/invoices.xlsx b/public/files/import/invoices.xlsx index fb49975f0..670f152c2 100644 Binary files a/public/files/import/invoices.xlsx and b/public/files/import/invoices.xlsx differ diff --git a/public/files/import/payments.xlsx b/public/files/import/payments.xlsx index fad84f1d4..b216490fa 100644 Binary files a/public/files/import/payments.xlsx and b/public/files/import/payments.xlsx differ diff --git a/public/files/import/revenues.xlsx b/public/files/import/revenues.xlsx index 4b720e292..c2a0ee5f3 100644 Binary files a/public/files/import/revenues.xlsx and b/public/files/import/revenues.xlsx differ diff --git a/public/files/import/transactions.xlsx b/public/files/import/transactions.xlsx index a84bce0ba..9d40d33b9 100644 Binary files a/public/files/import/transactions.xlsx and b/public/files/import/transactions.xlsx differ diff --git a/public/files/import/transfers.xlsx b/public/files/import/transfers.xlsx index 2ed56ab8f..1b8409a60 100644 Binary files a/public/files/import/transfers.xlsx and b/public/files/import/transfers.xlsx differ