2016-10-20 17 views
1

を使用してエクスポートされたExcelファイルに余分な列と行が表示されました。最近Excel形式でデータベースレコードをエクスポートするためのmaatwebsite/excelパッケージをLaravelにダウンロードしました。Laravel maatwebsite/excelパッケージ

インストールが成功し、予想されるデータベースレコードをExcel(.xls)形式でエクスポートできます。ここ

enter image description here

ない行:

は、しかし、私は、以下に示すように、予想されるデータに挿入される余分な列および行があることを通知しています。 8および列Hは望ましくない。続き は私のコントローラのコードです:

... 
$audit_logs = $model->whereBetween('audit_log_created_date', [$_from, $_to])->get(); 
$file_name = 'Audit Log Report ('.$_from.' to '.$_to.')'; 
$type  = AuditLog::$audit_log_type; 
$action  = AuditLog::$audit_log_action; 

Excel::create($file_name, function($excel) use ($audit_logs,$type,$action) { 
    $excel->sheet('Sheet 1', function($sheet) use ($audit_logs,$type,$action) { 
     $sheet->loadView('/admin/audit-log/_export')->with([ 
        'audit_logs' => $audit_logs, 
        'type'  => $type, 
        'action'  => $action 
       ]); 
    }); 
})->export(); 

そして、次は私の見解コードです:誰かが問題を特定できる場合

<style> 
    .trr { 
     background-color: #0099FF; 
     color: #ffffff; 
     align: center; 
     padding: 10px; 
     height: 20px; 
    } 
</style> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<html> 
<table> 
    <thead> 
    <tr class="trr"> 
     <td>S.no.</td> 
     <td>Type</td> 
     <td>Action</td> 
     <td>Event</td> 
     <td>Description</td> 
     <td>Username</td> 
     <td>Date & Time</td> 
    </tr> 
    </thead> 
    <tbody> 
    @if(!empty($audit_logs)) 
    <?php $count = 0; ?> 
    @foreach($audit_logs as $audit_log) 
    <?php $count = $count+1; ?> 
    <tr style="border: 1px solid #040404; background-color: <?php if($count%2==0) echo '#E3F2FD'; else echo '#BBDEFB'; ?>;"> 
     <td>{{ $count }}</td> 
     <td>{{ $type[$audit_log->audit_log_type] or null }}</td> 
     <td>{{ $action[$audit_log->audit_log_action] or null }}</td> 
     <td>{{ $audit_log->audit_log_event_id or null}}</td> 
     <td>{{ $audit_log->audit_log_description or null}}</td> 
     <td>{{ $audit_log->user->user_name or null}}</td> 
     <td>{{ $audit_log->audit_log_created_date or null}}</td> 
    </tr> 
    @endforeach 
    @endif 
    </tbody> 
</table> 
</html> 

私に知らせてください。

ありがとうございました。

答えて

0

私はそれはあなたが行全体のためにいくつかのスタイルを適用しようとすると、PHPExcelにを発生するバグを推測します。スタイルを行から単一のセルに移動することで解決できます。ここで 何ブレードテンプレートであなたの最初の「スタイル」で起こる:

<style> 
    .trr { 
     background-color: #0099FF; 
     color: #ffffff; 
     align: center; 
     padding: 10px; 
     height: 20px; 
    } 
    td { 
     border: 1px solid #040404; 
    } 
    tr.odd > td { 
     background-color: #E3F2FD; 
    } 

    tr.even > td { 
     background-color: #BBDEFB; 
    } 
</style> 

それは単に「奇数」と「偶数」行のセルのスタイルを定義します。 は今、あなたは「奇数」と自分のレコードに「偶数」クラスを追加する必要があります

<tr class="{{count % 2 == 0? "even": "odd"}}"> 

PHPExcelは、細胞に直接スタイルを適用し、追加のセルを追加しませんこのように。

関連する問題