【问题标题】:laravel maatwebsite excel export currency rowlaravel maatwebsite excel 导出货币行
【发布时间】:2016-11-23 00:30:36
【问题描述】:

我正在使用laravel maatwebsite package 导出 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 欧元

格式设置如何正确?

【问题讨论】:

    标签: php excel laravel maatwebsite-excel


    【解决方案1】:

    您可以添加到 HTML <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>
    

    【讨论】:

      【解决方案2】:

      通过上述答案,您的值将在 Excel 中转换为字符串值。我已经使用下面截取的代码来设置会计值的格式。

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

      【讨论】:

        【解决方案3】:

        嘿,我不确定正确的方法,但这是一个简单的技巧: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 
        ));
        

        【讨论】:

        • 如果你使用这个技巧,值将被转换为一个字符串。你不能用字符串在excel中进行计算。
        • 是的,你不能,但你可以在函数级别而不是在工作表中进行计算。
        • 我添加了一个答案,其中值将被格式化为会计值。
        猜你喜欢
        • 2019-05-20
        • 2019-05-15
        • 2017-03-07
        • 2020-09-04
        • 2020-03-10
        • 1970-01-01
        • 1970-01-01
        • 2018-10-23
        • 2020-08-28
        相关资源
        最近更新 更多