将laravel blade视图html表转换为CSV

时间:2014-09-17 03:18:00

标签: php csv blade

我的刀片文件中有一张表,我正在尝试将其导出为CSV格式。

以下是我的表的示例,其中包含来自Controller的数据:

 @foreach($data['dailySummary'] as $date=>$day)
    <?php 
        $dateTime = DateTime::createFromFormat('Y-n-j', $date);
        $formattedDate = date('d M y', $dateTime->getTimestamp());
    ?>

    <tr>
        <td>{{ $formattedDate }}</td>
        <td>{{ ($day['day_totals'] != 0) ? $day['day_totals'] : '-' }}</td>

        <td>{{ ($day['5_0'] != 0) ? $day['5_0'] : '-' }}<!-- {{ $day['5_0'] }} --></td>   
        <td>{{ ($day['5_1'] != 0) ? $day['5_1'] : '-' }}</td>
        <td>{{ ($day['5_2'] != 0) ? $day['5_2'] : '-' }}</td>

        <td>{{ ($day['1_0'] != 0) ? $day['1_0'] : '-' }}</td>   
        <td>{{ ($day['1_1'] != 0) ? $day['1_1'] : '-' }}</td>
        <td>{{ ($day['1_2'] != 0) ? $day['1_2'] : '-' }}</td>

        <td>{{ ($day['4_0'] != 0) ? $day['4_0'] : '-' }}</td>    
        <td>{{ ($day['4_1'] != 0) ? $day['4_1'] : '-' }}</td>
        <td>{{ ($day['4_2'] != 0) ? $day['4_2'] : '-' }}</td>

        <td>{{ ($day['3_0'] != 0) ? $day['3_0'] : '-' }}</td>     
        <td>{{ ($day['3_1'] != 0) ? $day['3_1'] : '-' }}</td>
        <td>{{ ($day['3_2'] != 0) ? $day['3_2'] : '-' }}</td>

        <td>{{ ($day['2_0'] != 0) ? $day['2_0'] : '-' }}</td>     
        <td>{{ ($day['2_1'] != 0) ? $day['2_1'] : '-' }}</td>
        <td>{{ ($day['2_2'] != 0) ? $day['2_2'] : '-' }}</td>

        <td>{{ ($day['6_0'] != 0) ? $day['6_0'] : '-' }}</td>    
        <td>{{ ($day['6_1'] != 0) ? $day['6_1'] : '-' }}</td>
        <td>{{ ($day['6_2'] != 0) ? $day['6_2'] : '-' }}</td>

        <td>{{ ($day['day_total_price'] != 0) ? '$' . $day['day_total_price'] : '-' }}</td>
    </tr>

    @endforeach

问题是我不确定我是否可以删除html标签并包含刀片括号内的数据{{}}

这只是我要转换为CSV的一部分,但我只是想看看是否还有另一种刀片方式。我知道在线有数百甚至数千个html到csv的教程,但没有多少与刀片有关。是的,它可能与普通的html相同,但在尝试使用普通的html页面用于格式化为csv的代码之后,它对刀片的效果不佳。

1 个答案:

答案 0 :(得分:0)

此问题不一定特定于Laravel中的Blade,因为它可以在PHP中完成 - 已经回答here

我个人更喜欢在您可以请求的模型中使用CSV()方法 - 这是一种更简洁的方法。