Microsoft Excel Shared Strings-Tabelle
Die Tabelle für gemeinsam genutzte Zeichenfolgen ist ein Open XML-Standard, wie er durch den ISO-Standard definiert ist - ISO / IEC 29500-1: 2016 (E)
Offizielle Definition von Shared Strings (zitiert aus dem ISO-Dokument)
Shared String Table
Zeichenfolgenwerte können direkt in Tabellenzellenelementen gespeichert werden. Das Speichern des gleichen Werts in mehreren Zellenelementen kann jedoch zu sehr großen Arbeitsblattteilen führen, was möglicherweise zu Leistungseinbußen führen kann. Die Tabelle für gemeinsam genutzte Zeichenfolgen ist eine indizierte Liste von Zeichenfolgenwerten, die in der gesamten Arbeitsmappe verwendet werden. Dadurch können Implementierungen Werte nur einmal speichern.
Der ISO-Standard für Shared Strings kann von heruntergeladen werden
https://standards.iso.org/ittf/PubliclyAvailableStandards/c071691_ISO_IEC_29500-1_2016.zip
Antworten auf die Fragen zu diesem Thema
Frage 1: Werden gemeinsam genutzte Zeichenfolgen in der Excel-Anwendung selbst oder nur beim Speichern der Daten verwendet?
Antwort:
Freigegebene Zeichenfolgen werden von Excel nur zum Zeitpunkt des Speicherns des Dokuments IE verwendet, nur um die Tabelle als Datei im Speicher zu speichern.
Wenn die Datei jedoch zur Anzeige geöffnet wird, werden die Zellen mit tatsächlichen Zeichenfolgenwerten gefüllt, die aus der Tabelle der gemeinsam genutzten Zeichenfolgen abgerufen werden.
- -
Frage 2: Was wäre dann ein Beispielalgorithmus, um auf dem Feld zu sortieren? Jede Sprache ist in Ordnung (c, c #, c ++, Python).
Antwort:
Für eine Anwendung wie Excel ist eine spezielle proprietäre Variante der
Schnellsortierung wahrscheinlich der wahrscheinlichste Algorithmus, der zum Sortieren nach Zeichenfolgenwerten verwendet wird.
Excel hat ein Limit von 1.048.576 Zeilen. Für diese Größe ist Quick Sort definitiv ein Gewinner. Eine schnelle Sortierung kann zu einem sehr effizienten Ergebnis für einen Datensatz dieser Größenordnung führen.
Hier ist der Link zur Implementierung von Quick Sort in C ++ zum Sortieren von Zeichenfolgen:
http://www.cplusplus.com/forum/beginner/101599/