Excel column formatting for exports
This commit is contained in:
		@@ -34,7 +34,7 @@ abstract class Export implements FromCollection, ShouldAutoSize, WithHeadings, W
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        $map = [];
 | 
					        $map = [];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $date_fields = ['paid_at', 'invoiced_at', 'billed_at', 'due_at', 'issued_at', 'created_at'];
 | 
					        $date_fields = ['paid_at', 'invoiced_at', 'billed_at', 'due_at', 'issued_at', 'created_at', 'transferred_at'];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $evil_chars = ['=', '+', '-', '@'];
 | 
					        $evil_chars = ['=', '+', '-', '@'];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -39,7 +39,7 @@ abstract class Import implements ToModel, SkipsOnError, SkipsOnFailure, WithBatc
 | 
				
			|||||||
            $row['reconciled'] = (int) $row['reconciled'];
 | 
					            $row['reconciled'] = (int) $row['reconciled'];
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $date_fields = ['paid_at', 'invoiced_at', 'billed_at', 'due_at', 'issued_at', 'created_at'];
 | 
					        $date_fields = ['paid_at', 'invoiced_at', 'billed_at', 'due_at', 'issued_at', 'created_at', 'transferred_at'];
 | 
				
			||||||
        foreach ($date_fields as $date_field) {
 | 
					        foreach ($date_fields as $date_field) {
 | 
				
			||||||
            if (!isset($row[$date_field])) {
 | 
					            if (!isset($row[$date_field])) {
 | 
				
			||||||
                continue;
 | 
					                continue;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,8 +5,10 @@ namespace App\Exports\Banking;
 | 
				
			|||||||
use App\Abstracts\Export;
 | 
					use App\Abstracts\Export;
 | 
				
			||||||
use App\Models\Banking\Transfer as Model;
 | 
					use App\Models\Banking\Transfer as Model;
 | 
				
			||||||
use App\Utilities\Date;
 | 
					use App\Utilities\Date;
 | 
				
			||||||
 | 
					use Maatwebsite\Excel\Concerns\WithColumnFormatting;
 | 
				
			||||||
 | 
					use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Transfers extends Export
 | 
					class Transfers extends Export implements WithColumnFormatting
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public function collection()
 | 
					    public function collection()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@@ -57,4 +59,11 @@ class Transfers extends Export
 | 
				
			|||||||
            'reference',
 | 
					            'reference',
 | 
				
			||||||
        ];
 | 
					        ];
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function columnFormats(): array
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return [
 | 
				
			||||||
 | 
					            'A' => NumberFormat::FORMAT_DATE_YYYYMMDD,
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,8 +4,10 @@ namespace App\Exports\Purchases\Sheets;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
use App\Abstracts\Export;
 | 
					use App\Abstracts\Export;
 | 
				
			||||||
use App\Models\Banking\Transaction as Model;
 | 
					use App\Models\Banking\Transaction as Model;
 | 
				
			||||||
 | 
					use Maatwebsite\Excel\Concerns\WithColumnFormatting;
 | 
				
			||||||
 | 
					use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class BillTransactions extends Export
 | 
					class BillTransactions extends Export implements WithColumnFormatting
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public function collection()
 | 
					    public function collection()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@@ -51,4 +53,11 @@ class BillTransactions extends Export
 | 
				
			|||||||
            'reconciled',
 | 
					            'reconciled',
 | 
				
			||||||
        ];
 | 
					        ];
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function columnFormats(): array
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return [
 | 
				
			||||||
 | 
					            'B' => NumberFormat::FORMAT_DATE_YYYYMMDD,
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,8 +4,10 @@ namespace App\Exports\Purchases\Sheets;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
use App\Abstracts\Export;
 | 
					use App\Abstracts\Export;
 | 
				
			||||||
use App\Models\Purchase\Bill as Model;
 | 
					use App\Models\Purchase\Bill as Model;
 | 
				
			||||||
 | 
					use Maatwebsite\Excel\Concerns\WithColumnFormatting;
 | 
				
			||||||
 | 
					use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Bills extends Export
 | 
					class Bills extends Export implements WithColumnFormatting
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public function collection()
 | 
					    public function collection()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@@ -46,4 +48,12 @@ class Bills extends Export
 | 
				
			|||||||
            'footer',
 | 
					            'footer',
 | 
				
			||||||
        ];
 | 
					        ];
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function columnFormats(): array
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return [
 | 
				
			||||||
 | 
					            'D' => NumberFormat::FORMAT_DATE_YYYYMMDD,
 | 
				
			||||||
 | 
					            'E' => NumberFormat::FORMAT_DATE_YYYYMMDD,
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,8 +4,10 @@ namespace App\Exports\Sales\Sheets;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
use App\Abstracts\Export;
 | 
					use App\Abstracts\Export;
 | 
				
			||||||
use App\Models\Banking\Transaction as Model;
 | 
					use App\Models\Banking\Transaction as Model;
 | 
				
			||||||
 | 
					use Maatwebsite\Excel\Concerns\WithColumnFormatting;
 | 
				
			||||||
 | 
					use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class InvoiceTransactions extends Export
 | 
					class InvoiceTransactions extends Export implements WithColumnFormatting
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public function collection()
 | 
					    public function collection()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@@ -51,4 +53,11 @@ class InvoiceTransactions extends Export
 | 
				
			|||||||
            'reconciled',
 | 
					            'reconciled',
 | 
				
			||||||
        ];
 | 
					        ];
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function columnFormats(): array
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return [
 | 
				
			||||||
 | 
					            'B' => NumberFormat::FORMAT_DATE_YYYYMMDD,
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,8 +4,10 @@ namespace App\Exports\Sales\Sheets;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
use App\Abstracts\Export;
 | 
					use App\Abstracts\Export;
 | 
				
			||||||
use App\Models\Sale\Invoice as Model;
 | 
					use App\Models\Sale\Invoice as Model;
 | 
				
			||||||
 | 
					use Maatwebsite\Excel\Concerns\WithColumnFormatting;
 | 
				
			||||||
 | 
					use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Invoices extends Export
 | 
					class Invoices extends Export implements WithColumnFormatting
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public function collection()
 | 
					    public function collection()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@@ -46,4 +48,12 @@ class Invoices extends Export
 | 
				
			|||||||
            'footer',
 | 
					            'footer',
 | 
				
			||||||
        ];
 | 
					        ];
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function columnFormats(): array
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return [
 | 
				
			||||||
 | 
					            'D' => NumberFormat::FORMAT_DATE_YYYYMMDD,
 | 
				
			||||||
 | 
					            'E' => NumberFormat::FORMAT_DATE_YYYYMMDD,
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user