Exportieren Daten in Angular nach Excel

Rana Hasnain Khan 15 Februar 2024
Exportieren Daten in Angular nach Excel

In diesem Artikel wird erläutert, wie Sie Daten in Angular nach Excel exportieren.

Daten nach Excel exportieren in Angular

Es gibt viele Situationen, in denen wir möglicherweise eine Exportfunktion in unserer Angular-Anwendung verwenden müssen. Wir möchten möglicherweise eine Option als Schaltfläche in unserer Anwendung für Kunden oder Klienten bereitstellen, um die Daten aus Tabellen in Excel-Tabellen oder von JSON in Excel-Tabellen zu exportieren.

In diesem Tutorial wird das Exportieren der Daten aus unserer Anwendung in das Excel-Format anhand von Beispielen erläutert. Dazu können wir die xlsx-Bibliothek in Angular verwenden, die uns die Möglichkeit gibt, JSON-Daten in das Excel-Format zu konvertieren.

Lassen Sie uns ein Beispiel durchgehen, in dem wir JSON-Daten der Wettersaisonen im Jahr erstellen. Wir müssen zuerst Angular CLI in unserem System installieren.

Zuerst erstellen wir ein neues Projekt auf Angular, indem wir den folgenden Befehl in der Befehlszeile ausführen.

ng new angular-app

Sobald unsere neue Anwendung erfolgreich erstellt wurde, wechseln wir mit Hilfe des folgenden Befehls zu unserem Anwendungsordner.

cd ./angular-app

Wir werden die Bibliothek xlsx mit dem Modul npm installieren. Wir werden den folgenden Befehl verwenden, um es zu installieren.

npm i xlsx --save

Jetzt erstellen wir eine Dummy-Liste der Wetterjahreszeiten in einem Jahr. Wir erstellen unsere Dummy-JSON-Daten in diesem Beispiel, aber sie können über eine Datenbank oder einige APIs abgerufen werden.

Die Dummy-Daten sind unten gezeigt.

Seasons = [
{ 	"id": 1,
	"name": "Spring",
	"Fruit": "Orange" },
{	"id": 2,
	"name": "Summer",
	"Fruit": "Mango"},
{	"id": 3,
	"name": "Winter",
	"Fruit": "Apple"},
{	"id": 4,
	"name": "Autumn",
	"Fruit": "Banana"}]

Jetzt erstellen wir die Frontend-Anwendung, in der wir die Tabelle erstellen, die die JSON-Daten anzeigt. Der aktualisierte Code in der Datei app.component.html ist unten dargestellt.

<div>
  <button (click)="exportToExcel()">Export to Excel</button>
  <table id="season-tble">
    <tr>
      <th>Id</th>
      <th>name</th>
      <th>Fruit</th>
    </tr>
    <tr *ngFor="let season of Seasons">
      <td>{{ season.id }}</td>
      <td>{{ season.name }}</td>
      <td>{{ season.fruit }}</td>
    </tr>
  </table>
</div>

Jetzt erstellen wir eine Funktion in der Datei app.component.ts, um Daten in das Excel-Format zu exportieren, wie unten gezeigt.

import { Component, VERSION } from '@angular/core';
import * as XLSX from 'xlsx';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
})
export class AppComponent {
  Seasons = [
    { id: 1, name: 'Spring', fruit: 'Orange' },
    { id: 2, name: 'Summer', fruit: 'Mango' },
    { id: 3, name: 'Winter', fruit: 'Apple' },
    { id: 4, name: 'Autumn', fruit: 'Banana' },
  ];

  name = 'ExcelSheet.xlsx';
  exportToExcel(): void {
    let element = document.getElementById('season-tble');
    const worksheet: XLSX.WorkSheet = XLSX.utils.table_to_sheet(element);

    const book: XLSX.WorkBook = XLSX.utils.book_new();
    XLSX.utils.book_append_sheet(book, worksheet, 'Sheet1');

    XLSX.writeFile(book, this.name);
  }
}

Wie unten gezeigt, werden wir etwas CSS-Code hinzufügen, damit unser Frontend gut aussieht.

td{
  border: 1px solid black;
  padding: 10px;
}
button{
  background: black;
  padding: 10px;
  color: white;
  margin-bottom: 50px;
}

Jetzt führen wir die Anwendung mit dem unten gezeigten Befehl aus.

npm start

Ausgabe:

Export zum Excel-Frontend in Angular

Jetzt klicken wir auf den export-Button und prüfen, ob das Programm funktioniert. Wenn wir auf die Schaltfläche klicken, wird die Datei mit dem von uns gespeicherten Namen heruntergeladen, wie unten gezeigt.

exportiert, um in Angular zu übertreffen

Lassen Sie uns nun diese Datei öffnen und prüfen, wie sie aussieht, wie unten gezeigt.

Excel-Daten im Export nach Excel in Angular

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn