php laravel maatwebsite excel export currency row

9rbhqvlz  于 2023-10-15  发布在  PHP
关注(0)|答案(4)|浏览(130)

我使用laravel maatwebsite包导出一个excel工作表。一列包含欧元货币,所以我试图使数据货币列。
我的列代码:

$sheet->setColumnFormat(array(
        'G' =>  \PHPExcel_Style_NumberFormat::FORMAT_NUMBER_00,
        'H' =>  "[$EUR ]#,##0.00_-",
        'I' =>  \PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE,
    ));

不幸的是,当例如5(没有任何小数)插入其中一列时,数据看起来像5而不是€ 5.00
如何以正确的方式格式化设置?

yrefmtwq

yrefmtwq1#

您可以将data-format属性添加到<td>
范例:

<td data-format="$#,##0_-">Price</td>
<td data-format="0.00">Price</td>
<td data-format="0%">Percentage</td>
<td data-format="dd/mm/yy">Date</td>
<td data-format="h:mm:ss AM/PM">Date/Time</td>
hsgswve4

hsgswve42#

嘿,我不确定正确的方法,但这是简单的技巧:P

foreach($jobs  as $index =>$row){
$data=array($index+1,$row->invoice_no,$row->customer_name,'€'.$row->amount);
$sheet->fromArray(array($data),null,'A6',false,false);
  }

$sheet->appendRow(8, array(
           'TOTAL','€'.$sum 
));
ddhy6vgd

ddhy6vgd3#

使用上述答案,您的值将在Excel中转换为字符串值。我已经使用下面的代码片段来设置记帐值的格式。

$sheet->setColumnFormat(array(
    'C2' => '[$€-2] * #,##0.00;-[$€-2] * #,##0.00_-;_-[$€-2] * "-"??_-;_-@_-',
));
5fjcxozz

5fjcxozz4#

第一个用户界面,如:

use Maatwebsite\Excel\Concerns\WithColumnFormatting
and implement with class (WithColumnFormatting)

 public function columnFormats(): array
    {
        return [
            'I' => '₹#,##0.00'
           ];
    }

相关问题