Zum Hauptinhalt springen

Zahlenformatierung

DHTMLX Spreadsheet unterstützt die Zahlenformatierung, die Sie auf numerische Werte in Zellen anwenden können.

DHTMLX Spreadsheet Zahlenformat-Dropdown mit den Optionen "Common", "Number", "Currency", "Percent", "Date", "Time" und "Text"

Hinweis

Der Benutzerleitfaden erleichtert Ihren Benutzern die Arbeit mit Spreadsheet.

Standardzahlenformate

Ein Zahlenformat ist ein Objekt, das eine Reihe von Eigenschaften enthält:

  • id - die ID eines Formats, das verwendet wird, um ein Format für eine Zelle mit der setFormat()-Methode festzulegen
  • mask - eine Maske für ein Zahlenformat. Sehen Sie sich die Liste der in einer Maske verfügbaren Zeichen unten an
  • name - der Name eines Formats, der in den Dropdown-Listen der Symbolleiste und des Menüs angezeigt wird
  • example - ein Beispiel, das zeigt, wie eine formatierte Zahl aussieht. Die Zahl 2702.31 wird als Standardwert für Formatbeispiele verwendet

Die Standard-Zahlenformate sind die folgenden:

defaultFormats = [
{ name: "Common", id: "common", mask: "", example: "1500.31" },
{ name: "Number", id: "number", mask: "#,##0.00", example: "1,500.31" },
{ name: "Percent", id: "percent", mask: "#,##0.00%", example: "1,500.31%" },
{ name: "Currency", id: "currency", mask: "$#,##0.00", example: "$1,500.31" },
{ name: "Date", id: "date", mask: "mm-dd-yy", example: "28/12/2021" },
{
name: "Time",
id: "time",
mask: hh:mm:ss am/pm || hh:mm:ss, // abhängig von der localization.timeFormat-Konfiguration
example: "13:30:00"
},
{ name: "Text", id: "text", mask: "@", example: "'1500.31'" },
{ name: "Scientific", id: "scientific", mask: "0.00E+00", example: "1.50E+03" }
];

So sieht eine Tabelle mit Daten in verschiedenen Zahlenformaten aus:

Datumsformat

Sie können das Format für Datumsangaben, die in der Tabelle angezeigt werden, mit der Option dateFormat der Eigenschaft localization definieren. Das Standardformat ist "%d/%m/%Y".

const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {
localization: {
dateFormat: "%D/%M/%Y",
}
});

spreadsheet.parse({
styles: {
// eine Reihe von Stilen
},
data: [
{cell: "B1", value: "03/10/2022", format: "date"},
{cell: "B2", value: new Date(), format: "date"},
]
});

Sehen Sie sich die vollständige Liste der verfügbaren Zeichen für die Erstellung von Formaten an.

Zeitformat

Um das Format festzulegen, in dem die Uhrzeit in den Tabellenzellen angezeigt werden soll, verwenden Sie die Option timeFormat der Eigenschaft localization:

const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {
localization: {
timeFormat: 24,
}
});

spreadsheet.parse({
styles: {
// eine Reihe von Stilen
},
data: [
{ cell: "A1", value: "18:30", format: "time" },
{ cell: "A2", value: 44550.5625, format: "time" },
{ cell: "A3", value: new Date(), format: "time" },
]
});

Lokalisierung von Zahlen, Datum, Uhrzeit und Währung

Mit den Konfigurationsoptionen von Spreadsheet können Sie Uhrzeit und Datum lokalisieren, das gewünschte Währungszeichen angeben sowie die gewünschten Dezimal- und Tausendertrennzeichen festlegen. Alle diese Einstellungen sind in der Eigenschaft localization verfügbar. Es handelt sich um ein Objekt mit den folgenden Eigenschaften:

  • decimal - (optional) das Symbol, das als Dezimaltrennzeichen verwendet wird, standardmäßig "." (ein Punkt)
    Mögliche Werte sind "." | ","
  • thousands - (optional) das Symbol, das als Tausendertrennzeichen verwendet wird, standardmäßig "," (ein Komma)
    Mögliche Werte sind "." | "," | " " | ""
  • currency - (optional) das Währungszeichen, standardmäßig "$"
  • dateFormat - (optional) das Format der Datumsanzeige als Zeichenkette, standardmäßig "%d/%m/%Y". Details finden Sie auf der API-Seite zu localization
  • timeFormat - (optional) das Format der Zeitanzeige als 12 oder 24, standardmäßig 12

Sie können beispielsweise die Standard-Lokalisierungseinstellungen wie folgt ändern:

const spreadsheet = new dhx.Spreadsheet("spreadsheet", {
localization: {
decimal: ",",
thousands: " ",
currency: "¥",
dateFormat: "%D/%M/%Y",
timeFormat: 24
}
});

spreadsheet.parse(dataset);

Hier ist das Ergebnis der Konfiguration des localization-Objekts für Spreadsheet:

Wissenschaftliches Zahlenformat

Die wissenschaftliche (exponentielle) Schreibweise ist als Standardformat verfügbar und eignet sich gut zur kompakten Darstellung sehr großer oder sehr kleiner Zahlen. Das eingebaute Format "scientific" verwendet die Maske 0.00E+00, die beispielsweise 1500.31 als 1.50E+03 darstellt.

Um es auf eine Zelle anzuwenden, verwenden Sie die Methode setFormat():

spreadsheet.setFormat("A1", "scientific");

Sie können auch ein benutzerdefiniertes wissenschaftliches Format mit einer anderen Maske über die Konfigurationsoption formats definieren. Beispielsweise erzeugt 0.###E+0 eine kompaktere Ausgabe:

const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {
formats: [
{ id: "scientific_compact", mask: "0.###E+0", name: "Scientific (compact)", example: "1.5E+3" }
]
});

Formate anpassen

Sie sind nicht auf die Standard-Zahlenformate beschränkt. Sie können Formate auf zwei Arten anpassen:

  • Ändern der Einstellungen der Standard-Zahlenformate
  • Hinzufügen benutzerdefinierter Zahlenformate zur Tabelle

Alle diese Änderungen können Sie mit der Konfigurationsoption formats vornehmen. Es handelt sich um ein Array von Format-Objekten, von denen jedes eine Reihe von Eigenschaften enthält:

  • id - (string) obligatorisch, die ID eines Formats, das verwendet wird, um ein Format für eine Zelle mit der setFormat()-Methode festzulegen
  • mask - (string) obligatorisch, eine Maske für ein Zahlenformat. Sehen Sie sich die Liste der in einer Maske verfügbaren Zeichen unten an
  • name - (string) optional, der Name eines Formats, der in den Dropdown-Listen der Symbolleiste und des Menüs angezeigt wird
  • example - (string) optional, ein Beispiel, das zeigt, wie eine formatierte Zahl aussieht

Die Struktur einer Maske

Eine Maske kann eine Reihe allgemeiner Syntaxzeichen enthalten, darunter Ziffernplatzhalter, Trennzeichen, Prozent- und Währungszeichen sowie gültige Zeichen:

  • 0 - eine Ziffer in der Zahl. Wird verwendet, um nicht signifikante Nullen anzuzeigen, wenn eine Zahl weniger Stellen hat als Nullen im Format vorhanden sind. Um beispielsweise 2 als 2.0 anzuzeigen, verwenden Sie das Format 0.0.
  • # - eine Ziffer in der Zahl. Wird verwendet, um nur signifikante Zahlen anzuzeigen (nicht signifikante Nullen werden weggelassen, wenn eine Zahl weniger Stellen hat als #-Symbole im Format vorhanden sind).
  • $ - formatiert Zahlen als Dollarbetrag. Um ein anderes Währungszeichen zu verwenden, müssen Sie es in einer Maske als [$ ihr_währungszeichen]#,##0.00 definieren, zum Beispiel [$ €]#,##0.00.
Hinweis

Beachten Sie, dass alle Zeichen zwischen [$ und ] als Währungszeichen interpretiert werden.

  • .(Punkt) - wendet ein Dezimaltrennzeichen auf Zahlen an.
  • ,(Komma) - wendet ein Tausendertrennzeichen auf Zahlen an.
  • Zeichen zur Festlegung eines Datumsformats - werden verwendet, um eine Maske für Datum und Uhrzeit zu erstellen. Um beispielsweise 27.09.2023 als 27, Sep 2023 anzuzeigen, verwenden Sie das Format "%d, %M %Y".
  • E+ / E- - formatiert Zahlen in wissenschaftlicher (exponentieller) Schreibweise. Die Ziffern nach E legen die Mindestanzahl der Exponentenstellen fest. E+ zeigt das Exponentenzeichen immer an; E- zeigt es nur bei negativen Exponenten. Die Maske 0.00E+00 zeigt beispielsweise 1500.31 als 1.50E+03 an.

Format festlegen

Um das gewünschte Format auf einen numerischen Wert anzuwenden, verwenden Sie die Methode setFormat(). Sie akzeptiert zwei Parameter:

  • cell - (string) die ID der Zelle, deren Wert formatiert werden soll
  • format - (string) der Name des Standard-Zahlenformats, das auf den Zellwert angewendet werden soll

Zum Beispiel:

// wendet das Prozentformat auf Zelle A1 an
spreadsheet.setFormat("A1","percent");

Format abrufen

Sie können das auf den Wert einer Zelle angewendete Zahlenformat mit der Methode getFormat() abrufen. Die Methode akzeptiert die ID einer Zelle als Parameter.

var format = spreadsheet.getFormat("A1"); 
// ->"percent"

Events

Sie können ein Paar von Events verwenden, um Änderungen am Zellformat zu steuern:

  • beforeAction - wird ausgelöst, bevor die Aktion setCellFormat ausgeführt wird
  • afterAction - wird ausgelöst, nachdem die Aktion setCellFormat ausgeführt wurde