Laravel-Excel 3 匯出值轉換數字為文字

逆天西瓜發表於2020-04-29

我這裡是 ‘C’,’D’, ‘H’ 這幾列是超過 15 位數字,自動轉換為了科學計數法,所以直接繫結這幾列即可。

use PhpOffice\PhpSpreadsheet\Cell\Cell;
use PhpOffice\PhpSpreadsheet\Cell\DataType;
use PhpOffice\PhpSpreadsheet\Cell\DefaultValueBinder;
use Maatwebsite\Excel\Concerns\WithCustomValueBinder;

class ExpertMonthFinanceExport extends DefaultValueBinder implements WithCustomValueBinder
{
    public function bindValue(Cell $cell, $value)
    {
        $column = $cell->getColumn();
        if (in_array( $column, ['C','D', 'H'])) {
            $cell->setValueExplicit($value, DataType::TYPE_STRING);
            return true;
        }
        return parent::bindValue($cell, $value);
    }
}

參考文章:問答:maatwebsite/Excel 3.0 匯出 Excel 如何設定長數字為文字
官方文件:docs.laravel-excel.com/3.1/exports...

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章