Как экспортировать в Excel с пользовательским цветом / Как использовать ngStyle в таблице данных

#angular #datatable

Вопрос:

У меня возникли некоторые проблемы с экспортом Excel, когда я пытаюсь экспортировать, это не экспортируется с пользовательским цветом текста (зеленый, красный).

Когда я включаю режим реагирования, ngClass или ngStyle не работают.

Может ли кто-нибудь помочь мне исправить это или знать, как я могу заставить это работать?

В моем компоненте я инициализирую DataTable следующим образом:

 ngOnInit(): void {
  this.dtOptions = {
    pagingType: 'full_numbers',
    dom: 'Bfrtip',
    pageLength: 50,
    responsive: false,
    processing: true,
    // Configure the buttons
    buttons: [
      'print',
      'excel'
    ],
    language: {
      url: 'https://cdn.datatables.net/plug-ins/1.10.22/i18n/Spanish.json'
    }
  };
}
 

и в моем HTML это

 <div class="card text-center">
  <div class="card-header">Reporte</div>
  <div class="card-body">
    <div class="table-responsive">
      <table datatable [dtOptions]="dtOptions" [dtTrigger]="dtTrigger" class="dt-responsive row-border hover table responsive">
        <thead>
          <tr>
            <th scope="col">PARTE</th>
            <th scope="col">DESCRIPCION</th>
            <th scope="col">CANTIDAD (LINEA)</th>
            <th scope="col">CANTIDAD (LX02)</th>
            <th scope="col">TOTAL CONTEO</th>
            <th scope="col">CRCY</th>
            <th scope="col">UNRESTRICTED</th>
            <th scope="col">IN QUALITY INSP</th>
            <th scope="col">BLOCKED</th>
            <th scope="col">TOTAL MB52</th>
            <th scope="col">DIFERENCIA</th>
            <th scope="col">COSTO UNITARIO</th>
            <th scope="col">BALANCE USD</th>
          </tr>
        </thead>
        <tbody>
          <tr *ngFor="let lista of inforReport; index as i">
            <td>{{lista.parte}}</td>
            <td>{{lista.descripcion}}</td>
            <td>{{lista.totalContadas}}</td>
            <td>{{lista.cantidad}}</td>
            <td>{{lista.total}}</td>
            <td>{{lista.crcy}}</td>
            <td>{{lista.unrestricted}}</td>
            <td>{{lista.inQualityInsp}}</td>
            <td>{{lista.blocked}}</td>
            <td>{{lista.totalMb52}}</td>
            <td [ngStyle]="{'color': lista.diferencia >0? 'green' : 'red'}">{{lista.diferencia}}</td>
            <td>{{lista.costoUnitario}}</td>
            <td>{{lista.balanceUSD}}</td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
</div>
 

Комментарии:

1. Похоже, что ваш вопрос на самом деле состоит из 2 несвязанных вопросов: (1) как использовать ngClass или ngStyle использовать адаптивную таблицу данных; (2) как экспортировать данные с помощью пользовательских цветов шрифта. Если это правильно, вам следует создать 2 отдельных вопроса.