You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Laravel中实现页面显示卢比符号、导出Excel时自动移除该符号

实现方案

1 网页端显示卢比符号

核心思路:数据库存储纯数值类型的金额,仅在前端/视图渲染层拼接卢比符号,不修改原始数据。

  • 如果你用Laravel Blade模板渲染页面,直接在输出金额时拼接印度卢比符号即可,示例代码:
<td>₹{{ $invoice->amount }}</td>
  • 如果是前后端分离场景,前端可直接用JS自带的国际化API完成格式化,自动带出卢比符号和千位分隔符,示例代码:
// amount为接口返回的纯数值金额
const formattedAmount = new Intl.NumberFormat('en-IN', { style: 'currency', currency: 'INR' }).format(amount)

2 Laravel导出Excel时移除卢比符号

因为原始数据存储的是纯数值,导出时直接输出原始数值即可,不需要额外做符号移除处理。
如果你的历史数据已经把带卢比符号的金额存储为字符串格式,可以在导出类的映射方法中用正则过滤掉卢比符号,主流Laravel Excel扩展包的实现示例:

<?php

namespace App\Exports;

use App\Models\Invoice;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithMapping;

class InvoicesExport implements FromCollection, WithMapping
{
    public function collection()
    {
        return Invoice::all();
    }

    public function map($invoice): array
    {
        return [
            $invoice->invoice_no,
            $invoice->customer_name,
            // 过滤所有非数字、小数点的字符,自动移除卢比符号
            preg_replace('/[^0-9.]/', '', $invoice->amount),
            $invoice->invoice_date,
        ];
    }
}

导出时还可以将该列设置为数值格式,方便导出后直接做数据计算,不需要额外调整格式。


内容的提问来源于stack exchange,提问作者Kick B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 15:27:03